Oracle Procedure

浏览: 1943

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; 

8.用pl/sql developer debug 

  连接数据库后建立一个Test WINDOW 

  在窗口输入调用SP的代码,F9开始debug,CTRL+N单步调试

推荐 0
本文由 面包君 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

0 个评论

要回复文章请先登录注册