存储过程-1
来源:互联网 发布:淘宝联盟设置推广位 编辑:程序博客网 时间:2024/06/05 07:46
存储过程
一、基础知识
1.商业规则和业务逻辑可以通过程序存储在Oracle 中,这个程序就是存储过程,就是一段存储在
数据库中执行某种功能的程序看,其中包含一条或多条SQL语句。
2.要创建一个过程对象必须有CREATE PROCEDURE 系统权限。执行procedure的时候,可能需要excute 权限。
3.如果单独赋予权限,如下例所示:
grant execute on MY_PROCEDURE to Jelly
调用一个存储过程的例子:
execute MY_PROCEDURE( 'ONE PARAMETER');
4.存储过程是命令, 而函数是表达式的一部分。
二、基本语法
1.存储过程
1.1创建存储过程
CREATE OR REPLACE PROCEDURE 存储过程名字(
参数1 IN NUMBER,
参数2 IN NUMBER,
...
)
AS
变量1 INTEGER :=0;
变量2 DATE;
...
BEGIN
... --存储体
END 存储过程名字
1.2查看存储过程
select * from user_source where name = 'P_FIND_ADDRESS_BY_STUID' order by line;
user_source是当前用户的试图。
1.3查看存储过程的错误
SHOW ERRORS PROCEDURE PROCEDURE_NAME;
2.SELECT INTO STATEMENT
BEGIN
SELECT col1,col2 into 变量1,变量2 FROM typestruct where xxx;
EXCEPTION
WHEN NO_DATA_FOUND THEN
...;
END;
将select 查询的结果存入到变量中,可以同时将多个列存储多个变量中,必须有一条
记录,否则抛出异常(如果没有记录抛出NO_DATA_FOUND)。
3.IF 判断
IF V_TEST=1 THEN
BEGIN
do something
END;
END IF;
4.WHILE 循环
WHILE V_TEST=1 LOOP
BEGIN
do something
END;
END LOOP;
5.用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;
6.执行存储过程
declare
--必要的变量声明,视你的过程而定
begin
execute yourprocudure(parameter1,parameter2,...);
end
- 存储过程-1
- SQL 存储过程(1)
- 存储过程1
- 分页存储过程1
- 存储过程1
- 存储过程1
- 存储过程-1
- 存储过程1
- 存储过程-1
- PLSQL存储过程1
- 存储过程练习1
- 存储过程1
- 存储过程详解1
- 存储过程1
- 存储过程实例1
- 存储过程 --- 1 --- 简介
- Sql Server 系统存储过程分析 1 - 目录存储过程
- MySql存储过程—1、SQL存储过程的基础知识
- [openstack]配置高可用RabbitMQ
- 【JPA】对象关系映射_访问模式(ACCESS_TYPE(field|Property))
- What is the difference between a process and a thread?
- 创建带 IN 和 OUT 参数的 MySQL 存储过程
- Android中ContentProvider简介
- 存储过程-1
- STM32F407之基本定时器TIM6&TIM7
- SQL注入漏洞
- Packet for query is too large(mysql写入数据过大
- 提升Email邮件营销转化效率方法分享
- 曾经的记忆不再有
- Android ListView
- VMware支持Hyper-v只是需要修改几个地方
- Datatable 与Datagridview相关操作