天天看點

Oracle存儲過程文法——基本文法

1.基本結構

create OR REPLACE PROCEDURE 存儲過程名字

(

參數 1 IN NUMBER,

參數 2 IN NUMBER

) IS

變量 1 INTEGER :=0;

變量 2 DATE;

BEGIN

END 存儲過程名字

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.IF 判斷

IF V_TEST=1 THEN

BEGIN

do something

END;

END IF;

4.while 循環

WHILE V_TEST=1 LOOP

BEGIN

XXXX

END;

END LOOP;

5.變量指派

V_TEST := 123;

6.用 for in 使用 cursor

...

IS

CURSOR cur IS select * FROM xxx;

BEGIN

FOR cur_result in cur LOOP

BEGIN

V_SUM :=cur_result.列名 1+cur_result.列名 2

END;

END LOOP;

END;

7.帶參數的 cursor

CURSOR C_USER(C_ID NUMBER) IS select NAME FROM USER where TYPEID=C_ID;

OPEN C_USER(變量值);

LOOP

FETCH C_USER INTO V_NAME;

EXIT FETCH C_USER%NOTFOUND;

do something

END LOOP;

CLOSE C_USER;