创建存储过程与触发器

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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;

结果:

相关文档
最新文档