oracle 存储过程的基本语法

  |   0 评论   |   1,317 浏览

    1.基本结构
    CREATE OR REPLACE PROCEDURE 存储过程名字
    (
    参数1 IN NUMBER,
    参数2 IN NUMBER
    ) IS
    变量1 INTEGER :=0;
    变量2 DATE;
    BEGIN

    END 存储过程名字

    2.SELECT INTO STATEMENT
    将select查询的结果存入到变量中,可以同时将多个列存储多个变量中,必须有一条
    记录,否则抛出异常(如果没有记录抛出NODATAFOUND)
    例子:
    BEGIN
    SELECT col1,col2 into 变量1,变量2 FROM typestruct where xxx;
    EXCEPTION
    WHEN NODATAFOUND 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
    VSUM :=curresult.列名1+cur_result.列名2
    END;
    END LOOP;
    END;

    7.带参数的cursor
    CURSOR CUSER(CID NUMBER) IS SELECT NAME FROM USER WHERE TYPEID=C_ID;
    OPEN C_USER(变量值);
    LOOP
    FETCH CUSER INTO VNAME;
    EXIT FETCH C_USER%NOTFOUND;
    do something
    END LOOP;
    CLOSE C_USER;

    8.用pl/sql developer debug
      连接数据库后建立一个Test WINDOW
    在窗口输入调用SP的代码,F9开始debug,CTRL+N单步调试

     

    以上文章,从我以前的csdn博客上转过来的。

    评论

    发表评论

    validate