- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验9 SQL Server 2000的存储过程
实验步骤
写一个程序,计算9到999的和,SQL代码如下所示:
DECLARE @i INT,@sum INT
SELECT @i=9,
@sum=0
WHILE @i = 99
BEGIN
SELECT @sum = @sum + @i,
@i = @i + 1
END
PRINT 9+10+...+99 = +CONVERT(VARCHAR,@sum)
创建存储过程pr_buy, 返回指定会员帐号(M_account )已付款购买的商品信息,SQL代码如
下所示:
USE eshop
GO
CREATE PROCEDURE pr_buy
@account VARCHAR(20)
AS
SELECT *
FROM orders
WHERE m_account = @account
执行存储过程pr_buy显示帐号为liuzc518会员的购买商品信息,SQL代码如下所示:
USE eshop
EXEC pr_buy liuzc
在企业管理器中,对pr_buy进行如下的操作:
查看其定义的文本
打开“SQL Server企业管理器”,定位到eshop数据库,展开eshop数据库的对象,再定位到“存储过程”项,右击pr_buy存储过程,弹出快捷菜单,如图9-1所示。从快捷菜单中选择“属性”,将弹出“存储过程属性-pr_buy”对话框,如图9-2所示。
图9-1 选择需要查看其属性的存储过程
图9-2 查看存储过程属性
改名为pr_test
打开“SQL Server企业管理器”,定位到eshop数据库,展开eshop数据库的对象,再定位到“存储过程”项,右击pr_buy存储过程,弹出快捷菜单,如图9-3所示。从快捷菜单中选择“重命名”,将使存储过程pr_buy的名称进入编辑状态,如图9-4所示。
图9-3 选择需要重命名的存储过程
图9-4 重命名存储过程
将存储过程pr_buy的名称重命名为pr_test后,SQL Server系统将弹出“重命名”对话框,以提示用
户是否使重命名存储过程有效,单击“是”使重命名生效,单击“否”使重命名失效,即维护存储过程的名称不变,如图9-5所示。选择“是”以后,如果系统执行重命名存储过程成功,将弹出已成功重命名存储过程对象的对话框,如图9-6所示,用户单击“确定”即可;否则返回重命名存储过程不成功的信息。
图9-5 选择是否使重命名存储过程有效
图9-6 返回重命名存储过程的执行状态
改为返回该帐号会员的个人信息
打开“SQL Server企业管理器”,定位到eshop数据库,展开eshop数据库的对象,再定位到“存储过程”项,右击pr_test存储过程,弹出快捷菜单,如图9-1所示。从快捷菜单中选择“属性”,将弹出“存储过程属性-pr_test”对话框,如图9-2所示。然后修改文本框中的存储过程定义文本,如图9-7所示,修改后的代码如下:
CREATE PROCEDURE pr_test
@account VARCHAR(20)
AS
SELECT *
FROM members
WHERE m_account = @account
GO
图9-7 查看存储过程属性
删除该存储过程
打开“SQL Server企业管理器”,定位到eshop数据库,展开eshop数据库的对象,再定位到“存储过程”项,右击pr_test存储过程,弹出快捷菜单,如图9-8所示。从快捷菜单中选择“删除”,将弹出“除去对象”对话框,如图9-9所示。然后单击“全部除去”按钮,将删除eshop数据库中与存储过程pr_test有关的全部信息。
图9-8 选择存储过程
图9-9 查看存储过程属性 实验10 SQL Server 2000的触发器
实验目的
了解触发器的触发过程和类型
通过执行SQL脚本,掌握创建触发器并测试触发器
掌握通过使用触发器维护数据完整性的方法。
实验要求
按指定要求创建触发器。
保存并上交实验结果。
实验步骤
创建一个名为tr_age的触发器,要求在插入和更新时检查AGE是否在15到60之间,如不在15到60,则弹出“年龄不合法”提示信息,SQL代码如下所示:
CREATE TRIGGER tr_age
ON members
FOR INSERT,UPDATE
AS
DECLARE @age INT
SELECT @age = YEAR(GETDATE())-YEAR(m_birth)
FROM inserted
IF @age NOT BETWEEN 15 AND 60
BEGIN
ROLLBACK TRANSACTION
RAISERROR(年龄不合法,16
文档评论(0)