您好,我正在编写一组简单的oracle语句,但是遇到一条错误消息:“ PLS-00103:在预期以下情况之一时遇到了DROP符号”。我不确定我的陈述有什么问题。任何帮助表示赞赏。
DECLARE
table_exists number := 0;
BEGIN
SELECT COUNT(*) INTO table_exists FROM dba_tables WHERE owner = 'ABC'
AND table_name = 'XYZ';
If (table_exists = 1) then
DROP TABLE "ABC"."XYZ";
End If;
End;
答案 0 :(得分:3)
如果要在PL / SQL块中使用DDL语句,则必须使用动态SQL。 试试这个:
execute immediate 'DROP TABLE ' || owner.table_name