什麼,我試圖做無法動態地刪除表中的PL/SQL
我想創建它接受表名作爲參數的過程。而在過程中我動態下探使用表Dynamic SQL
什麼問題
寫execute droptab('TEST');
我得到以下錯誤調用程序後:
ERROR at line 1:
ORA-00950: invalid DROP option
ORA-06512: at "SYSTEM.DROPTAB", line 4
ORA-06512: at line 1
程序
create or replace procedure dropTab (tableName in varchar2) is
begin
EXECUTE IMMEDIATE 'DROP TABLE' || tableName;
end;
/
嘗試在表名稱之前添加數據庫名稱,例如database.table。並嘗試在普通的SQL窗口中執行它,也許你沒有授予的權利。 – Momo
''DROP TABLE'|| tableName;'TABLE'和'tablename'之間沒有空格,如果tablename是'sometable',最後的命令是'DROP TABLEsometable',這顯然是錯誤的。 – krokodilko