admin管理员组文章数量:1565367
2024年7月21日发(作者:)
实验3 存储过程与触发器的创建
一、 实验目的与要求
1.
2.
3.
4.
掌握使用向导创建存储过程并更新相应数据;
掌握使用T-SQL语句创建一个存储过程并验证;
掌握创建和执行带参数的存储过程;
掌握触发器的创建与使用.
二、 实验内容
1. 创建存储过程。
2. 创建触发器。
3. 保存并上交实验结果。
三、 实验步骤
1. 创建存储过程pr_buy, 返回指定会员帐号(m_account )已付款购买的商品信息,SQL
代码如下所示:
USE eshop
GO
CREATE PROCEDURE pr_buy
@account VARCHAR(20)
AS
SELECT *
FROM orders
WHERE m_account = @account
2. 执行存储过程pr_buy显示帐号为liuzc518会员的购买商品信息,SQL代码如下所示:
USE eshop
EXEC pr_buy 'liuzc518'
执行结果如图3.1所示。
图3.1 存储过程验证
3. 在企业管理器中,对pr_buy进行如下的操作:
(1) 查看其定义的文本
打开“SQL Server企业管理器”,定位到eshop数据库,展开eshop数据库的对象,再
定位到“存储过程”项,右击pr_buy存储过程,弹出快捷菜单,如图3.2所示。从快捷菜
单中选择“属性”,将弹出“存储过程属性-pr_buy”对话框,如图3.3所示。
图3.2 选择需要查看其属性的存储过程
图3.3 查看存储过程属性
4. 基于“商品表”创建AFTER INSERT触发器tr_insert_price,实现新添记录数据时商品的
价格限制在10000以内,SQL代码如下所示:
CREATE TRIGGER tr_insert_price
ON products
AFTER INSERT
AS
DECLARE @price money
SELECT @price = p_price
FROM inserted
IF @price > 10000
BEGIN
ROLLBACK TRANSACTION
RAISERROR('商品价格超出范围',16,10)
END
图3.4 创建触发器
图3.5触发器属性
利用企业管理器在eshop数据库中选择produces表,右键单击弹出菜单中选择管理
触发器,在弹出的界面——名称中选择tr_insert_price,即可查看其属性,如图3.5所示。
5. 查看所创建触发器详细信息同,SQL代码如下所示:
USE eshop
EXEC sp_helptrigger members
EXEC sp_helptext tr_age
EXEC sp_helptrigger products
EXEC sp_helptext tr_insert_price
6. 添加如下记录,测试tr_insert_price触发器的功能。
在查询分析器执行以下SQL代码:
INSERT INTO products VALUES('','奇瑞小轿车','2005-06-13',8,25860.0,'大折
扣');
再按F5或点击工具栏上的运行按钮“”,运行插入记录到数据表的SQL代码,将触
发在数据表中定义的触发器,在结果框中显示以下“商品价格超出范围”消息,如图3.6所
示。
图3.6 触发器验证
四、 注意事项
1. 存储过程输入参数的使用。
2. 存储过程输出参数的使用。
3. 触发器中触发事件以及类型的确定。
版权声明:本文标题:数据库--存储过程与触发器的创建 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/dongtai/1721518814a882573.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论