我的要求是使用DDL,創建一個存儲過程,如果犯規存在,在DB2
我想創建一個DDL腳本,它會檢查是否在數據庫中存在的存儲過程,如果是,則刪除它,然後重新創建。
我想的是什麼,
IF EXISTS (select procname into Migration_procname from sysibm.sysprocedures where procname like 'GIAM_PRIVILEGE_MIGRATION') THEN
DROP PROCEDURE ITIMUSER.GIAM_PRIVILEGE_MIGRATION;
ELSE
CREATE PROCEDURE ITIMUSER.GIAM_PRIVILEGE_MIGRATION()
SPECIFIC ITIMUSER.GIAM_PRIVILEGE_MIGRATION
LANGUAGE SQL
BEGIN
......
......
update/select statements
......
END
@
,沒有工作。 所以我甚至嘗試創建另一個做同樣的任務仍然沒有成功的程序。
任何指針都會有幫助。
注:我使用的DB2/LUW 9.5
感謝Lennart,我還有一個疑問。有什麼方法可以使用DDL腳本執行DCL命令(授權)? –
你可以更具體地說明你正在嘗試做什麼,只要你有認證,afaik就沒有問題。 – Lennart
其實我正在用ADMIN用戶執行DDL腳本,所以在默認情況下,不會有創建的程序對像ITIMUSER這樣的其他用戶的執行權限。所以我想通過相同的DDL文件授予他們權限。我嘗試過運行,但沒有取得成功。得到低於錯誤 –