Oracle歸檔模式與非歸檔模式設置

存儲過程在服務器端早已編輯執行過的代碼。用戶要做的只是調用和接收存儲過返回的結果。所以調用存儲過程比普通的用查詢語句返回值要快得多,存儲過程的執行速度更快,存 儲過程是保存起來的可以接受和返回用戶提供的參數的 Transact-SQL 語句的集合。可以創建一個過程供永久使用,或在一個會話中臨時使用(局部臨時過程),或在所有會話中臨時使用(全局臨時過程)。
oracle 存儲過程的基本語法 及注意事項
1.基本結構
CREATE OR REPLACE PROCEDURE 存儲過程名字
(
    參數1 IN NUMBER,
    參數2 IN NUMBER
) IS
變量1 INTEGER :=0;
變量2 DATE;
BEGIN
END 存儲過程名字
   1、is和as沒有區別;
   2、參數是從存儲過程外面傳入的值;而變量是在存儲過程裏面定義的。
2.SELECT INTO STATEMENT
將select查詢的結果存入到變量中,可以同時將多個列存儲多個變量中,必須有一條
記錄,否則拋出異常(如果沒有記錄拋出NO_DATA_FOUND)
例子:
BEGIN
SELECT col1,col2 into 變量1,變量2 from typestruct where xxx;
EXCEPTION
WHEN NO_DATA_FOUND THEN
     xxxx;
END;
...
3、變量賦值
變量名 := 值;
E.g:
create or replace procedure test(workDate in Date) is
x number(4,2);
begin
x := 1;
end test;
4、判斷語句:
if 比較式 then begin end; end if;
E.g
create or replace procedure test(x in number) is
begin
         if x >0 then
          begin
         x := 0 - x;
         end;
     end if;
     if x = 0 then
        begin
         x: = 1;
     end;
     end if;
end test;
5、For 循環
For ... in ... LOOP
--執行語句
end LOOP;
(1)循環遍歷遊標
create or replace procedure test() as
Cursor cursor is select name from student; name varchar(20);
begin
for name in cursor LOOP
begin
dbms_output.putline(name) ......  
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章