動態SQL學習一例

genweihua發表於2013-01-16
       想寫一個傳遞引數建立使用者的儲存過程,一直沒有寫出來,到自己加的群裡問了問,說要用到動態SQL,就上網查詢關於動態SQL的資訊。資料是查了很多,就是不知道怎麼寫。後來好不容易編譯透過了,發現測試的時候報錯誤。最後再根據網上的資料改寫,最終成功了。不過這個儲存過程要在sys使用者下執行,才能正常執行。在system下說是許可權不夠。
下邊是編譯執行成功的例子,放在這裡以供參考:

create or replace procedure createUser(Uname char,passwd char)
as
createSQL char(50);
grantSQL char(50);
begin
 createSQL:='create user '||Uname||' identified by '||passwd||'';
 grantSQL:='grant dba to '||Uname||'';
  execute immediate createSQL;
  dbms_output.put_line(createSQL);
  execute immediate grantSQL;
end;

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22275400/viewspace-752725/,如需轉載,請註明出處,否則將追究法律責任。

相關文章