【发布时间】:2011-10-10 12:38:23
【问题描述】:
我不熟悉 PL/SQL。谁能解释为什么我不能执行以下操作?
BEGIN
IF TRUE THEN
CREATE INDEX TestIndex ON SomeTable (SomeColumn);
END IF;
END;
我会收到以下错误:
错误报告: ORA-06550:第 3 行,第 5 列: PLS-00103:在预期以下情况之一时遇到符号“CREATE”: 开始 case 为 goto 声明退出 if loop mod null pragma 在使用时提高返回选择更新
我可以绕过这个错误的唯一方法是做动态sql:
BEGIN
IF TRUE THEN
EXECUTE IMMEDIATE 'CREATE INDEX TestIndex ON SomeTable (SomeColumn)';
END IF;
END;
【问题讨论】: