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单步调试
Oracle存储过程入门学习基本语法
2019-10-30 18:55Oracle教程网 Oracle
Oracle存储过程基本语法学习入门必备
延伸 · 阅读
- 2022-06-28使用Docker制作Python环境连接Oracle镜像
- 2022-03-09MySQL存储过程图文实例讲解
- 2022-03-09C# Ado.net实现读取SQLServer数据库存储过程列表及参
- 2022-03-07Oracle Linux 能否成为企业级 CentOS 的替代品?
- 2022-03-05Oracle VM VirtualBox 虚拟机硬盘扩容
- 2022-02-28oracle删除超过N天数据脚本的方法
精彩推荐
- Oracle
Oracle与Mysql自动增长列(id)的区别
这篇文章主要介绍了Oracle与Mysql自动增长列(id)的区别,需要的朋友可以参考下 ...
- Oracle
oracle中add_months()函数及用法总结
这篇文章主要介绍了oracle中add_months()函数及用法总结,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下 ...
- Oracle
Oracle 获得以百分号结尾的脚本有三种写法
本节主要介绍了Oracle 获得以百分号结尾的脚本有三种写法,以获得ID=4443的数据行为例 ...
- Oracle
Oracle除去数据中的换行符以免读取出现问题
将整条数据取出,并用特殊符号分割,如果数据出现换行的情况,那么读取时就有问题,这时就可以采用下面的方法来去除 ...
- Oracle
oracle 多个字符替换实现
CSDN上的一个网友,需要一个sql语句的解决方案需求是这样的求写oracle多个字符替换(有测试数据) ...
- Oracle
Oracle数据库的空间管理技巧
在oracle数据库中,DBA可以通过观测一定的表或视图来了解当前空间的使用状况,进而作出可能的调整决定 ...
- Oracle
ORACLE 系统函数大全SQLSERVER系统函数的异同
下面是Oracle支持的字符函数和它们的Microsoft SQL Server等价函数。...
- Oracle
Oracle 批处理自动备份bat脚本语句的步骤详解
这篇文章主要介绍了Oracle 批处理自动备份bat脚本语句的步骤详解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友...