比较 sqlserver2005、Oracle PL/SQL创建存储过程
2011-12-13 15:50
218 查看
Sqlserver2005创建存储过程--循环插入数据
---首先判断是否存在同名存储过程,如果有则删除---
if Exists(select name from sysobjects where name='pro_add'and type='P')
drop proc pro_add
go
---创建存储过程,本例为带参类型
create procedure pro_add(@pvol_dh int,@pfile_id int,@pcounter,@pmax) as
---declare关键字 定义变量,用@标示变量(局部变量),可以一次定义多个变量,每个变量用逗号隔开
declare @counter numeric(10), @vol_dh numeric(10), @file_id numeric(10)
---开始
begin
---变量赋值语句 set关键字
set @counter=@pcounter
set @vol_dh=@pvol_dh
set @file_id=@pfile_id
---循环语句,循环体中使用begin-end 标示循环体
while @counter<@pmax begin
insert into vol(vol_id,vol_dh,title)
values(@counter,@vol_dh,'存储过程创建文')
---每循环一次变量值增1
set @counter=@counter+1
set @vol_dh=@vol_dh+1
set @file_id=@file_id+1
end
---结束
end
--调用存储过程
exec pro_add 1,1,1,10
--查看调用结果
select * from vol
--查看表结构
sp_help vol
oracle10g PL/SQL语句
oracle版存储过程说明:
---定义存储过程,PL/SQL中修改已经存在的procedure,不能使用modify进行修改,通过replace关键字进行替换
create or replace procedure pro_add
(
v_pcounter in number
, v_pvolid in number
, v_pvoldh in number
, v_pmax in number
) as
---定义变量,PL/SQL中每个语句以分号结束,一行可以写多个语句
v_counter number;
v_volid number;
v_voldh number;
---开始
begin
---变量赋值操作 :=
v_counter:=v_pcounter;
v_volid:=v_pvolid;
v_voldh:=v_pvoldh;
---循环语句
while v_counter< v_pmax
---循环体
Loop
insert into vol(vol_id,vol_qzh,vol_dh,vol_ajh)
values
(v_volid
,'A01'
,v_voldh
,v_counter
);
v_counter:=v_counter+1;
v_volid:=v_volid+1;
v_voldh:=v_voldh+1;
end loop;
---提交事务
commit;
end pro_add;
----调用-----
exec pro_add1,1,1,10
----查看表结构
desc vol
---首先判断是否存在同名存储过程,如果有则删除---
if Exists(select name from sysobjects where name='pro_add'and type='P')
drop proc pro_add
go
---创建存储过程,本例为带参类型
create procedure pro_add(@pvol_dh int,@pfile_id int,@pcounter,@pmax) as
---declare关键字 定义变量,用@标示变量(局部变量),可以一次定义多个变量,每个变量用逗号隔开
declare @counter numeric(10), @vol_dh numeric(10), @file_id numeric(10)
---开始
begin
---变量赋值语句 set关键字
set @counter=@pcounter
set @vol_dh=@pvol_dh
set @file_id=@pfile_id
---循环语句,循环体中使用begin-end 标示循环体
while @counter<@pmax begin
insert into vol(vol_id,vol_dh,title)
values(@counter,@vol_dh,'存储过程创建文')
---每循环一次变量值增1
set @counter=@counter+1
set @vol_dh=@vol_dh+1
set @file_id=@file_id+1
end
---结束
end
--调用存储过程
exec pro_add 1,1,1,10
--查看调用结果
select * from vol
--查看表结构
sp_help vol
oracle10g PL/SQL语句
oracle版存储过程说明:
---定义存储过程,PL/SQL中修改已经存在的procedure,不能使用modify进行修改,通过replace关键字进行替换
create or replace procedure pro_add
(
v_pcounter in number
, v_pvolid in number
, v_pvoldh in number
, v_pmax in number
) as
---定义变量,PL/SQL中每个语句以分号结束,一行可以写多个语句
v_counter number;
v_volid number;
v_voldh number;
---开始
begin
---变量赋值操作 :=
v_counter:=v_pcounter;
v_volid:=v_pvolid;
v_voldh:=v_pvoldh;
---循环语句
while v_counter< v_pmax
---循环体
Loop
insert into vol(vol_id,vol_qzh,vol_dh,vol_ajh)
values
(v_volid
,'A01'
,v_voldh
,v_counter
);
v_counter:=v_counter+1;
v_volid:=v_volid+1;
v_voldh:=v_voldh+1;
end loop;
---提交事务
commit;
end pro_add;
----调用-----
exec pro_add1,1,1,10
----查看表结构
desc vol
相关文章推荐
- PL/Sql 中创建、调试、调用存储过程
- [强烈推荐]ORACLE PL/SQL编程详解之七:程序包的创建与应用(聪明在于学习,天才在于积累!)
- Oracle_PL/SQL 存储过程
- oracle pl/sql 中创建同义词
- 基于ORACLE建表和循环回路来创建数据库存储过程SQL语句来实现
- oracle procedure存储过程(pl/sql)_使用declare cursor_begin end嵌套
- 使用pl/sql来Oracle创建表空间和创建用户
- Oracle实践--PL/SQL综合之分页存储过程
- 在Oracle中不通过存储过程一次执行多条SQL语句Oracle PL/SQL
- 106---oracle的PL/SQL,异常处理, 游标(CURSOR), 子程序,存储过程
- 利用PL/SQL Developer工具在Oracle库中创建同名词Synonym的方法
- [置顶] Oracle PL/SQL中编写空操作的存储过程
- [强烈推荐]ORACLE PL/SQL编程详解之七:程序包的创建与应用(聪明在于学习,天才在于积累!)
- Oracle PL/SQL如何动态调用存储过程
- Oracle PL/SQL 存储过程、存储函数、触发器
- Oracle SQL Developer,Oracle 开发工具之toad、SQL Developer、PL/SQL Developer等比较
- 在Oracle中不通过存储过程一次执行多条SQL语句Oracle PL/SQL
- Oracle PL/SQL开发基础(第一弹:创建表和创建约束)
- Oracle SQL Developer与PL/SQL Developer比较【转】
- Oracle PL/SQL 调试工具比较