Hello,
why does the following statement fail, when I use execute immediate. The statement itself works propperly.
Oracle: 11.2.0.2Code:Error starting at line 1 in command: DECLARE error Number; BEGIN execute immediate ' CREATE INDEX CSOSAP.IDX_ESCAL_BEGDAT ON CSOSAP.ESCAL (TO_CHAR(BEGDAT,'YYYYMMDD')) PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS COMPRESS 1 NOLOGGING STORAGE(INITIAL 81920 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT) TABLESPACE CSOSAPIDX PARALLEL '; END; Error report: ORA-06550: Zeile 2, Spalte 73: PLS-00103: Fand das Symbol "YYYYMMDD" als eines der folgenden erwartet wurde: * & = - + ; < / > at in is mod remainder not rem return returning<> or != or ~= >= <= <> and or like like2 like4 likec between into using || multiset bulk member submultiset Das Symbol "* wurde vor "YYYYMMDD" eingefügt, um fortzufahren. 06550. 00000 - "line %s, column %s:\n%s" *Cause: Usually a PL/SQL compilation error. *Action:
Windows Server 2003 R2


Reply With Quote
Bookmarks