1.以下所說為Oracle預存程序!
2.注重預存程序的編寫、調試、和運用的流程,不注重太多文法的介紹!
3.只要你懂sql語句就可以繼續往下看了!
4.一個預存程序不是屬於哪個table的,而是屬於一個使用者的(在oracle來說)。
5.現在可以編寫預存程序了,如果你是一個oralce新手應該也知道plsql這個東西。
在plsql裡建立一個 sql window,在這裡寫預存程序的語句。
5.一個最簡單的預存程序
- create or replace procedure test is
- begin
- null;
- end test;
- /
解釋:create 建立;
replace 如果存在則替換;
procedure 告訴資料庫你要建立或替換的是一個預存程序;
test 你建立的預存程序的名字;
begin 固定的,表示要開始寫了;
null oracle規定begin和end之間至少有一句話;
end test 表示預存程序結束,test是對應上面你建立的預存程序名字,注意該寫分號的地方要寫分號;
/ 這個是可以不寫的,但還是寫的好,下面會告訴你它是幹啥用的。
6.恭喜你,你已經會寫預存程序了。那麼這個預存程序該怎麼生效呢?
好,請選中上面5行語句,按執行(F8);好了,在左邊objects視窗下有個Procedures檔案夾,開啟就可以看到有你寫的預存程序test。
這表示資料庫已經有你的預存程序,你可以調用這個預存程序了。
7.現在預存程序還只是掛在資料庫上,如果不被執行(與F8的執行不是一個意思)或者不被調用,那它只是垃圾。
所以,現在你要知道如何執行預存程序了。
請先把上面的5行語句存為一個sql檔案,如:test.sql。
開啟命令列(運行 cmd)cd到test.sql所在的檔案目錄;
輸入sqlplus name/password@orcl;這是進入sqlplus的命令,如果你不懂是啥意思,請去google。
好,如果你進來了,應該是看到sql>;
恩,可以開始了。輸入:@test。(命令不包括:和。其中test是test.sql的檔案名稱)。
還記得上面5行語句的最後一行有個 / 嗎?如果沒有這個 / 那麼現在你應該再輸入一個 / 才能完成這個執行檔案的命令。
如果提示成功,ok,繼續!
再輸入一條命令:execute test。(命令不包括:和。其中execute就是執行預存程序了,執行的意思就是說,如果你預存程序裡有一個insert語句,那隻有execute才是在執行插入操作,而且前面的什麼F8、@test之類的都不是。test是你建立的預存程序的名字)。
如果提示成功了,ok,結束。