小编Ron*_*ble的帖子

如何使用DDL语句跟踪PL/SQL块

如何使用DDL语句跟踪PL/SQL块?

我正在尝试做这样的事情:

DECLARE TRESULT INTEGER;

BEGIN

  SELECT COUNT(1) INTO TRESULT
    FROM USER_INDEXES
    WHERE INDEX_NAME='IX_SalesmanID';

  IF TRESULT > 0 THEN
    EXECUTE IMMEDIATE 'DROP INDEX IX_SalesmanID';
  END IF;

END;

CREATE INDEX IX_SalesmanID ON Salesmen(SalesmanID);
Run Code Online (Sandbox Code Playgroud)

但是我收到一条错误消息:

Error report:
ORA-06550: line 15, column 1:
PLS-00103: Encountered the symbol "CREATE" 
06550. 00000 -  "line %s, column %s:\n%s"
*Cause:    Usually a PL/SQL compilation error.
Run Code Online (Sandbox Code Playgroud)

不过,我应该在街区之外,对吗?

这是一个非常简化的版本,实际的脚本将检查是否存在许多内容,并删除,重新创建并重复更改许多对象及其许多属性.将它们全部放在动态SQL字符串中并使用EXECUTE IMMEDIATE似乎有点矫枉过正.

在上面的示例中尝试关闭块时,我做了一些简单的错误吗?

谢谢你的帮助.

oracle plsql

0
推荐指数
1
解决办法
105
查看次数

标签 统计

oracle ×1

plsql ×1