SQL Server存储过程实验

/*针对项目表创建名为“p1_存储过程”的存储过程;执行“p1_存储过程”的存储过程进行数据浏览。*/
create procedure p1_存储过程
as
select* from project
go
exec p1_存储过程
-- 设计存储过程“p2_存储过程”,从员工表中计算某部门人员平均工资。
-- 要求输入参数为部门号,输出参数是该部门的平均工资。执行存储过程查看结果。
create procedure p2_存储过程
@pjun char(4),@pjavgsal float output
as
select @pjavgsal = avg(convert(float,salary))
from employee
where dpnu = @pjun
go
declare @pjnu char(4),@pjavgsal float
set @pjnu = '1004'
exec p2_存储过程 @pjnu ,@pjavgsal output
print '平均工资是:' + convert(varchar,@pjavgsal)

-- 设计存储过程“p3_存储过程”,完成对员工表的元组的插入工作。
-- 要求使用输入参数。插入操作成功返回状态值,失败返回状态值-1。
-- 执行存储过程,如果返回状态值为,输出“插入成功”,否则输出“插入失败”。
create procedure p3_存储过程
@emnu varchar(4),@emna varchar(10),@emge varchar(2),@embi date,
@donu varchar(4),@jszc varchar(30),@salary int ,@pri varchar(2) output
as
begin transaction
insert into employee values(@emnu,@emna,@emge,@embi,@donu,@jszc,@salary)
if @@error <> 0
begin 
rollback transaction  return -1 
end
else
begin 
commit transaction return 0 
end
go
declare @pri int
exec @pri=p3_存储过程 '2111','王五','男','1999-9-9','1001','你好',1999,@pri output
if @pri = 0
print '插入成功'
else
print '插入失败'

-- ①修改"p1_存储过程"存储过程,要求指定项目编号作为输入参数,并增加WITH ENCRYPTION选项。
alter procedure p1_存储过程
@pjnu varchar(4) 
with encryption
as begin 
select * from project where pjnu = @pjnu end
go
exec p1_存储过程 J001
-- ②查看修改后的"p1_存储过程"存储过程文本。
sp_helptext 'p1_存储过程'
-- ③执行"p1_存储过程"存储过程。
exec p1_存储过程 j001
-- ④删除"p1_存储过程"存储过程。
drop procedure p1_存储过程

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值