SQL Server数据库: 存储过程

一、实验目的

1、掌握T-SQL变量的定义和使用

2、掌握T-SQL控制流语句

3、掌握存储过程的使用方法


二、实验内容

1、定义一个变量,将其声明为char 类型,并使用两种语句为其赋值。并使用print和select 语句打印变量的值。

(1)定义变量

(2)使用set赋值并用print打印

(3)使用select赋值并用select打印


2. 编写一个批量,计算1到100的偶数和。(使用while)

(1) sql语句

(2)  执行结果


3. 编写一个批量,针对Toys表,如果价格大于25元的玩具数量在10种之上,则打印下列消息‘Maybe the price of toys on globaltoyz is not cheap ’,否则,打印消息‘You can search something on globaltoyz’。(使用IF…ELSE语句)

(1)定义变量存储符合条件的数量

(2) 判断条件输出语句

(3) 执行结果


4.(使用简单的CASE语句)对于Shopper表,查询代码为‘000020’的详细情况,根据该用户所使用的信用卡信息打印不同的信息,如果其使用的是 ‘Master Card’,打印消息‘Great priority’,如果使用的是 ‘Visa Card’,打印消息 ‘Potential’,否则答应消息 ‘Normal’。

(1)定义变量存储信用卡信息

(2) 判断条件输出语句

(3) 执行结果


5.(使用搜索的CASE语句)对于Position表,其中可以看到每个职位的人员配备情况,根据Position表中的每个职位的人员缺少数,我们分别打印不同的消息,如果缺少数在20人以上,打印‘奇缺’,在5~20之间,打印‘适中’,如果在5人以下,则打印‘或缺’。提示:人员缺少数应该根据预算人数(iBudgetedStrength)和当前人数(iCurrentStrength)之差求出来。

(1)sql语句

(2) 执行结果


6. 针对外部候选人表,计算所有人的平均成绩,如果平均分大于80,则将所有人的成绩降低5%,否则将所有人的成绩降低3%。

(1)定义变量存储平均分

(2) 判断条件执行不同语句

(3) 执行结果


 7. Toys表包含由零售机构出售的所有玩具的信息。Toys表的siToyQOH列存储各玩具的零件数量,cToyId列存储各玩具的Toy Id。当玩具代号为’000029’的玩具的siToyQOH列的值大于0时,使用适当的编程构造显示短语“Product available”。如果存储在siToyQOHd的值为0时,那么显示短语“Product not available”。

(1)声明变量存储

(2) 判断条件打印短语

(3) 执行结果


8. 如果Toys表中存在着没有被人订购过的玩具,请打印这些玩具的详细信息,否则打印‘All toys have been ordered!’

(1)sql语句

(2) 执行结果


9. 创建一个存储过程,能够显示要求礼物包装(Orderdetail表)的订单的号码和附言。执行相应的存储过程。

(1)定义存储过程

(2) 执行存储过程

(3) 执行结果


10. 创建一个存储过程,参数是接收国家的ID和名称,将其插入到Country表中。执行该过程。

(1)定义存储过程

(2) 执行存储过程

(3) 执行结果


11. 创建一个存储过程,接收国家的ID,在Shopper表,Recipient表和ShippingRate表中查找该国家是否被参照引用,如果该国家值没有被引用,则删除相应的国家记录。执行该过程。

(1)创建存储过程

(2) 执行存储过程

(3) 执行结果

(上一题中加的050删除了)


12. 创建一个存储过程,该存储过程接收玩具的ID,显示相应的玩具的名称和价格。执行过程。

(1)sql语句

(2) 执行结果


13. 创建一个存储过程,能够根据提供的订单号码显示相应的订单信息,如果没有提供订单号码,则打印消息‘No Order No’。执行该过程。

(1)sql语句

(2) 有参执行结果

 (3)空参执行结果


14. 创建存储过程,接收姓和名,在SHOPPER表中查找相应的订购者详细信息。

(1)sql语句

(2) 执行结果


15. 创建存储过程,对于接收的订单号,如果该订单订购的总花费在60元以上,则打印消息并返回值0,否则打印相应消息并返回值1。

(1)sql语句

(2) 执行结果


 16. 创建存储过程,能够接收玩具ID,并按下列格式打印出该玩具的名称,描述和价格,并列出订购了该玩具的订单的详细信息,写出相应的所有存储过程。如下所示:

    The Name of toy       :  Robby the Whale

The Description of toy:  A giant Blue Whale w

The Price of toy      :  8.99

cOrderNo cToyId siQty  cGiftWrap cWrapperId vMessage     mToyCost

--------------------------------------------------------------------   

000005   000001 4      Y         001        Happy Birthday     35.96  

(1)sql语句

(2) 执行结果

实验5.1 存储过程的建立与使用 一、实验目的 理解存储过程的概念、作用、建立和调用方法。 二、实验原理 使用CREATE PROCEDURE语句创建存储过程,ALTER PROCEDURE语句修改存储过程,DROP PROCEDURE语句删除存储过程存储过程有不带参数的、有带输入参数的、有带输出参数(output)的,还可以有带返回值的。创建好的存储过程可以使用EXEC procedure_name语句执行。 实验5.2 触发器的建立与使用 一、实验目的 理解触发器的概念和作用;了解触发器的分类及触发条件;掌握触发器的定义及应用。 二、实验原理 1、 使用CREATE TRIGGER语句定义触发器,ALTER TRIGGER语句修改触发器,DROP TRIGGER语句删除触发器。 2、 触发器分AFTER/FOR和INSTEAD OF两种类型:AFTER/FOR类型的触发器是在相应的触发语句(insert、delete、update)执行完后被触发的。如果触发语句对应的表上有完整性约束,这些完整性约束必须不违背时,相应的触发语句才能执行,然后才能触发对应的AFTER/FOR类型的触发器。INSTEAD OF类型的触发器会在触发语句(insert、delete、update)执行之前被触发,并取代相应的触发语句。 3、 在表或视图上,每个INSERT、UPDATE或DELETE语句只能创建一个INSTEAD OF类型的触发器,无法为有外键约束且指定为级联删除或级联修改的表创建DELETE或UPDATE语句上的INSTEAD OF 类型的触发器。 SQL SERVER为每个触发器都创建了两个临时表INSERTED表和DELETED表,这两个表的逻辑结构与被触发器作用的表一样,用户可以读取这两个表的内容,但不能对它们进行修改,触发器执行完后,这两个表也会自动删除。当执行INSERT时,INSERTED表中保存要向表中插入的所有行;当执行DELETE时,DELETED表中保存要从表中删除的所有行;当执行UPDATE时,修改前的行保存在DELETED表中,修改后的行保存在INSERTED行中。
一、实验目的 1.掌握SQL Server 2005的安装。 2.掌握SQL Server Management Studio的启动和使用。 3.掌握SQL Server 2005服务器的配置和注册。 4.掌握SQL Server 2005查询的基本使用。 5.掌握应用SQL Server Management Studio创建数据库的方法。 6.掌握应用SQL Server Management Studio修改和查看数据库的方法。 7.掌握应用SQL Server Management Studio删除数据库的方法。 8.掌握应用Transact-SQL语句创建数据库的方法。 9.掌握应用Transact-SQL修改和查看数据库的方法。 10.掌握通过Transact-SQL删除数据库的方法。 11.掌握SQL Server 2005数据库和操作系统物理文件的关系。 12.掌握数据库的分离和附加方法。 二、实验内容 1.完成SQL Server 2005开发版的安装。 提示:若计算机系统中已经安装有SQL Server 2005系统,则在安装时需要选择安装命名实例。安装过程中身份验证模式选择“混合模式”并设置sa账户的密码。 2.利用SQL Server配置管理器启动、停止SQL Server服务(包括默认实例和命名实例),配置SQL Server服务为自动启动。 3.利用SQL Server配置管理器配置进行SQL Server 2005网络配置,启用默认实例和命名实例的TCP/IP协议。 4.利用SQL Server外围配置器配置数据库引擎的服务及远程连接,设置为“本地连接和远程连接”,选择“同时使用TCP/IP和named pipes”。 5.利用SQL Server Management Studio注册安装的命名实例。 6.利用SQL Server Management Studio注册远程服务器。 提示:注册远程服务器时需要使用混合验证模式,利用sa账户和密码登录远程服务器。 7.启动SQL Server Management Studio,连接到服务器。新建一个查询,在其中输入如下代码: DECLARE @position int, @string char(5) SET @position = 1 SET @string = 'China' WHILE @position <= DATALENGTH(@string) BEGIN SELECT SUBSTRING(@string, @position, 1) 字符, ASCII(SUBSTRING(@string, @position, 1)) ASCII码 SET @position = @position + 1 END
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值