• 一些oracle的经验


    注:再写存储过程的时候,在for循环里要写begin和end,这样就可以写exception ,让这条错误数据回滚,然后记录错误日志,commit

    关键字: 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; 

    8.用pl/sql developer debug 
      连接数据库后建立一个Test WINDOW 
      在窗口输入调用SP的代码,F9开始debug,CTRL+N单步调试
    有不懂的,或者更好的见解可以随时交流!每天都会看的。
  • 相关阅读:
    剑指offer-第二章排序之年龄排序
    剑指offer—第二章算法之快速排序
    java小程序(课堂作业02)
    关于java的一些小知识(课程作业01)
    Java从命令行接受多个数字并求和
    《大道至简》第一章读后感及伪代码
    大道至简读后感
    GCPC 2013_A Boggle DFS+字典树 CSU 1457
    Aizu 2155 Magic Slayer 背包DP
    UVALive 4255 Guess
  • 原文地址:https://www.cnblogs.com/java-xz/p/7070923.html
Copyright © 2020-2023  润新知