1 / 3
文档名称:

实验十触发器.doc

格式:doc   大小:118KB   页数:3页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

实验十触发器.doc

上传人:xunlai783 2018/5/4 文件大小:118 KB

下载得到文件列表

实验十触发器.doc

文档介绍

文档介绍:实验内容
利用Transact-SQL语言为S表建立一个名为s_insert的insert触发器,通过s_insert触发器以保证在向S表中插入记录时status字段只要以1,2,3,4,5字符打头。如果插入记录status字段值不是以1,2,3,4,5,打头的,则拒绝插入记录,并且输出提示信息“status字段不是以1,2,3,4,5字符打头的!”。
实现语句:
create trigger s_insert
on s
for insert
as if(select count(*) from inserted
where status like '[1,2,3,4,5]%')=0
begin
print 'status字段不是以1,2,3,4,5字符打头的!'
rollback transaction
end
利用企业管理器为P表建立一个名为p_weight的update触发器,通过p_weight触发器以保证修改p中数据时,限制weight字段的值的在1000以内,如果修改后的记录weight字段的值超过了100,则拒绝修改记录,并且输出提示信息“当前修改的weight字段不在1000以内,请重新输入字段值。”否则修改记录,并且输出提示信息“当前修改记录的weight值满足要求,成功完成修改操作。
实现语句:
create trigger p_weight
on p
for update
as if(select count(*) from inserted
where weight>1000)>0
begin
print '当前修改的weight字段不在1000以内,请重新输入字段值'
rollback transaction
end
else
print '当前修改记录的weight值满足要求,成功完成修改操作'
更新结果:
利用Transact-SQL语言为J表建立一个名为j_delete的delete触发器,通过j_delete触发器保证在删除工程项目表J中的记录时,该待删除记录在spj表中存在引用记录,并且对用的关系引用记录的供应数量QTY值不小于50,则不能删除该工程项目,输出提示信息“不满足删除条件“,否则可以删除,输出提示信息”相应的工程项目已经删除。
实现语句:
create trigger j_delete
on j
for delete
as if(
select count(*)
from inserted,spj
where = and >50)>0
begin
print '不满足删除条件'
rollback transaction
end
else
print '相应的工程项目已经删除'
运行结果:
利用Transact-SQL语言修改触发器s-insert,修改后的s-insert触发器能保证在修改S表中记录时status字段值不允许修改。
执行语句:
alter tr