当前位置: 首页 > 图文教程 > 数据库 > Oracle > Oracle存储过程入门学习基本语法

Oracle
Oracle Tuning技巧总结
如何选择Oracle优化器
如何使用Logmnr方法分析数据库日志
保持Oracle数据优良性能的若干诀窍
Oracle 10g R2ORA-3136 错误解决
Oracle中行迁移和行链接的清除及检测
不要忽视Oracle 10g STATSPACK
ORACLE性能调整--统计信息的迁移
用Oracle TimesTen加速Oracle数据库
在Oracle 10g中如何获得索引建议
Oracle中的SQL语句性能调整原则
Oracle Spatial新驱动的添加记录实例
在Linux系统下如何优化Oracle具体步骤
Oracle数据库删除两表中相同数据的方法
Oracle 容灾复制解决方案分析Shar Plex
oltp系统,数据块大小用4k还是8k好?
数据库中如何使用SQL查询连续号码段
在数据字典中直接修改表列的名称和顺序
讲解Oracle里抽取随机数的多种方法
使用一条SQL语句删除表中重复记录

Oracle存储过程入门学习基本语法


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 61 ::
收藏到网摘: n/a

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单步调试