orcal存储过程事例
来源:互联网 发布:软件开发 学校 编辑:程序博客网 时间:2024/05/13 11:22
A1 -A6 ,6张表,要求分别查出所有的A1.a1、A2.a2、A3.a3、A4.a4、A5.a5.
这五个字段插入到A6的表中去.
A6表的五个字段已经设置好了就是这五个字段
create or replace procedure sp_test
is
-- is和as是一样的
-- 这里定义变量,以;分隔
v_a1 A1.a1%rowtype;
v_a2 A2.a2%rowtype;
v_a3 A3.a3%rowtype;
v_a4 A4.a4%rowtype;
v_a5 A5.a5%rowtype;
begin
select a1 into v_a1 from A1;
select a2 into v_a2 from A2;
select a3 into v_a3 from A3;
select a4 into v_a4 from A4;
select a5 into v_a5 from A5;
insert into A6(a1,a2,a3,a4,a5)values(v_a1 ,v_a2, v_a3, v_a4, v_a5 );
commit;
end;
--创建一个带参数的存储过程
CREATE OR REPLACE PROCEDURE p
(v_a IN NUMBER,v_b NUMBER, v_ret OUT NUMBER, v_temp IN OUT NUMBER)
--IN 代表输入参数,什么都不写,默认是in,out 输参数,in out 既是输入也是输出
IS
BEGIN
IF(v_a>v_b) THEN
v_ret := v_a;
ELSE
v_ret := v_b;
END IF;
v_temp := v_temp+1;
END
--调用带参存储过程
DECLARE
v_a NUMBER := 3;
v_b NUMBER := 4;
v_ret NUMBER;
v_temp NUMBER :=5;
BEGIN
p(v_a,v_b,v_ret,v_temp);
dbms_output.put_line(v_ret);
dbms_output.put_line(v_temp);
END;
--再写PL/SQL程序时的细节,每一句话结束后都要写";"
-- 尤其是以下三个一定不要忘记加";" end if; end loop; end;
--创建一个带参数的存储过程
CREATE OR REPLACE PROCEDURE swap(
p1 IN OUT NUMBER,
p2 IN OUT NUMBER
)
IS
v_temp NUMBER;
BEGIN
v_temp:= p1;
p1 :=p2;
p2 := v_temp;
END;
--调用带参存储过程
DECLARE
num1 NUMBER:=10;
num2 NUMBER:=20;
BEGIN
swap(num1,num2);
dbms_output.put_line('num1 = '||num1);
dbms_output.put_line('num2 = '||num2);
END;
这五个字段插入到A6的表中去.
A6表的五个字段已经设置好了就是这五个字段
create or replace procedure sp_test
is
-- is和as是一样的
-- 这里定义变量,以;分隔
v_a1 A1.a1%rowtype;
v_a2 A2.a2%rowtype;
v_a3 A3.a3%rowtype;
v_a4 A4.a4%rowtype;
v_a5 A5.a5%rowtype;
begin
select a1 into v_a1 from A1;
select a2 into v_a2 from A2;
select a3 into v_a3 from A3;
select a4 into v_a4 from A4;
select a5 into v_a5 from A5;
insert into A6(a1,a2,a3,a4,a5)values(v_a1 ,v_a2, v_a3, v_a4, v_a5 );
commit;
end;
--创建一个带参数的存储过程
CREATE OR REPLACE PROCEDURE p
(v_a IN NUMBER,v_b NUMBER, v_ret OUT NUMBER, v_temp IN OUT NUMBER)
--IN 代表输入参数,什么都不写,默认是in,out 输参数,in out 既是输入也是输出
IS
BEGIN
IF(v_a>v_b) THEN
v_ret := v_a;
ELSE
v_ret := v_b;
END IF;
v_temp := v_temp+1;
END
--调用带参存储过程
DECLARE
v_a NUMBER := 3;
v_b NUMBER := 4;
v_ret NUMBER;
v_temp NUMBER :=5;
BEGIN
p(v_a,v_b,v_ret,v_temp);
dbms_output.put_line(v_ret);
dbms_output.put_line(v_temp);
END;
--再写PL/SQL程序时的细节,每一句话结束后都要写";"
-- 尤其是以下三个一定不要忘记加";" end if; end loop; end;
--创建一个带参数的存储过程
CREATE OR REPLACE PROCEDURE swap(
p1 IN OUT NUMBER,
p2 IN OUT NUMBER
)
IS
v_temp NUMBER;
BEGIN
v_temp:= p1;
p1 :=p2;
p2 := v_temp;
END;
--调用带参存储过程
DECLARE
num1 NUMBER:=10;
num2 NUMBER:=20;
BEGIN
swap(num1,num2);
dbms_output.put_line('num1 = '||num1);
dbms_output.put_line('num2 = '||num2);
END;
0 0
- orcal存储过程事例
- orcal 存储过程
- 存储过程事例
- Java存储过程调用事例
- mysql 存储过程 小事例
- orcal的存储过程加上触发器,源码
- mysql 存储过程1064问题和事例
- MySql存储过程语法及事例
- Java调用orcal数据库存储过程实现分页
- C#执行带参数的存储过程一个事例
- C#如何调用存储过程简单的事例
- orcal
- orcal
- ORCAL
- Orcal数据库存储数据+(PHP+Apache)中间通信+Android显示
- LINUX下安装Orcal 11g详细过程
- orcal安装过程中遇到问题: 未找到文件
- android(9)_数据存储与访问3_scard_login事例
- nyoj 题目17 单调递增最长子序列
- 线程取消(pthread_cancel)
- datagridview Cell中空值的处理
- UnityShader初识
- 开机时自动启动任务管理器,怎么设置
- orcal存储过程事例
- C++ 学习笔记_0015_递归(读懂C++递归程序)
- myeclipse的快捷键
- Android控件拖拽功能的实现
- Android中判断当前网络是否可用
- 多处理器下Windows内核同步
- 结构体:探析C#文件方式读写结构体
- 黑马程序员-----交通灯和银行业务调度面试题
- Eclipse中文语言包安装和设置中文