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;