创建存储过程与触发器
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2.创建可以按“类别”(参数)进行某类产品库存信息查询的存储过程
原代码:
创建存储过程: create procedure chanpinleibie@123nchar(10)
as
begin
select*from产品表
where类别=@123
end;
测试方案及数据:
在新建查询中输入:exec@result=chanpinleibie
@123='电'
select'result'=@result
测试结果:(文字说明、原代码、结果贴图)
3.创建可以按产品名称或产品名称打头字符串(参数)进行产品库存信息查询的存储
过程。
创建存储过程: create procedure chanpinmingcheng@123nchar(10)
as
begin
select*from产品表
where产品名称=@123
end;
在新建查询中输入:exec@result=chanpinmingcheng
@123='电'
select'result'=@result
测试结果:(文字说明、原代码、结果贴图)
4.创建可以按“供应商编号”(参数)进行产品库存信息查询的存储过程。创建存储过程: create procedure gongyingshang@123nchar(10)
as
begin
select*from产品表
where供应商编号=@123
end;
在新建查询中输入:exec@result=gongyingshang
@123='102'
select'result'=@result
测试结果:(文字说明、原代码、结果贴图)
我的选题2:(描述题目和欲实现的功能)
1.创建“现有库存”表的DELETE触发器,禁止删除库存信息原代码:
create trigger库存_信息删除on现有库存量
for delete
as
declare@123nchar(10)
begin
IF EXISTS(SELECT*FROM现有库存量WHERE产品编号=@123) PRINT'禁止删除库存信息!'
ROLLBACK;
ROLLBACK TRANSACTION
END;
use zw
go
delete
from现有库存量where产品编号='004'
go
测试方案及数据:
use zw
go
delete from现有库存量where产品编号='004'
Go
测试结果:(文字说明、原代码、结果贴图)
2.创建“出库单”表的INSERT触发器。
原代码:
create trigger插入出库单表时更新
on出库单表
for insert
as
declare@zdbh int,@khbh nchar(10),@cpbh nchar(10),@cksl numeric,@ckjg money,@je money,@ckrq datetime,@mdd nchar(10),@jsr nchar(10),@xykcl numeric
begin
select@zdbh,@cpbh
where exists(select现有库存量from现有库存量
where@xykcl=@cksl)
insert into出库单表values(@zdbh,@khbh,@cpbh,@cksl,@ckjg,@je,@ckrq,@mdd,@jsr); end;
测试结果:(文字说明、原代码、结果贴图)
③创建“出库单”表的INSERT触发器
源代码:create trigger插入出库单表
on出库单表
for insert
as
declare@zdbh int,@khbh nchar(10),@cpbh nchar(10),@cksl numeric,@ckjg money,@je money,@ckrq datetime,@mdd nchar(10),@jsr nchar(10),@xykcl numeric
begin
if exists(select*from现有库存量
where现有库存量<@cksl)
print'库存不足需要补货!'
ROLLBACK;
ROLLBACK TRANSACTION
end;
测试结果:
4.创建“入库单”表的INSERT触发器。
原代码:
create trigger插入入库单表
on入库单表
for insert
as
declare@zdbh int,@cpbh nchar(10),@gysbh nchar(10),@rksl numeric,@rkjg money,@rkrq datetime,@jsr nchar(10),@xykcl numeric,@cksl nchar
begin
select@zdbh,@cpbh
where exists(select现有库存量from现有库存量
where@xykcl=@cksl)
insert into入库单表values(@zdbh,@cpbh,@gysbh,@rksl,@rkjg,@rkrq,@jsr)
end;
结果: