ORA-06550 & PLS-00103:遇到符号“drop”[重复]
Posted
技术标签:
【中文标题】ORA-06550 & PLS-00103:遇到符号“drop”[重复]【英文标题】:ORA-06550 & PLS-00103 : Encountered the symbol "drop" [duplicate] 【发布时间】:2016-01-26 18:16:20 【问题描述】:这是怎么回事?
DECLARE
V_COUNT NUMBER(10) := 0;
BEGIN
SELECT COUNT(*) INTO V_COUNT FROM USER_VIEWS WHERE VIEW_NAME = 'DBO$EVT_APP';
IF V_COUNT > 0 THEN
DROP VIEW DBO$EVT_APP;
END IF;
END;
我收到以下错误:
Error report:
ORA-06550: line 9, column 5:
PLS-00103: Encountered the symbol "DROP" when expecting one of the following: ...
对我来说,这看起来像是有效的 SQL。这是我粘贴的确切代码。
【问题讨论】:
PL/SQL中不能直接使用DDL,需要使用动态SQL。 【参考方案1】:DECLARE
V_COUNT NUMBER(10) := 0;
BEGIN
SELECT COUNT(*) INTO V_COUNT FROM USER_VIEWS WHERE VIEW_NAME = 'DBO$EVT_APP';
IF V_COUNT > 0 THEN
execute immediate 'DROP VIEW DBO$EVT_APP';
END IF;
END;
【讨论】:
谢谢!动态 sql 并没有放弃视图!当我复制引号中的内容并使用添加的分号运行它时,它会丢弃视图!但是动态运行它不会。以上是关于ORA-06550 & PLS-00103:遇到符号“drop”[重复]的主要内容,如果未能解决你的问题,请参考以下文章
ORA-06550、PLS-00103、ORA-06512 函数
无法解决 ora-06550 pls-00103 查询中的错误
ORA-06550 第 10 行,第 41 列:PLS-00103:在预期以下情况之一时遇到符号“,”: