存储过程的使用

一、 实验目的

  1. 理解存储过程的概念;
  2. 掌握存储过程的使用方法;

二、实验操作方法和步骤

  1. 在对象资源管理器中新建查询窗口,并输入以下代码,创建一个利用流控制语句的存储过程letters_print, 该存储过程能够显示26个小写字母。
    CREATE PROCEDURE letters_print  AS
    DECLARE @count int
    SET @count=0
    	WHILE @count<26
    BEGIN
      PRINT Char (Ascii('a')+ @count)
	  SET @count=@count +1
END
单击“执行”按钮,查看BookDb数据库“可编程性”节点下的“存储过程”,检查是否有letters_print。

在这里插入图片描述
使用EXECUTE命令执行letters_print 存储过程。
在这里插入图片描述
2. 使用BookDb数据库中的读者信息表、图书表、借阅信息表。
(1) 创建一个存储过程rd_brw,查询借阅证号为B00001的读者的姓名、所借图书的名称、归还日期。
插入代码为:

CREATE PROCEDURE rd_brw AS
SELECT 姓名
FROM 读者信息
SELECT 书名
FROM [ 图书信息]
SELECT 归还日期
FROM 借阅信息
WHERE 借阅证号='B00001'

执行如下:
在这里插入图片描述
(2) 执行存储过程rd_brw 查询B00001读者的姓名、所借图书的名称、归还日期。
在这里插入图片描述
3. 输入以下代码,创建存储过程reader_info, 执行时通过输入借阅证号,可以查询该借阅证号对应的读者的借阅信息。

    CREATE  PROCEDURE  reader_ info  @id  VARCHAR(16)
    SELECT  a.借阅证号, 姓名, 图书编号, 归还日期
       FROM 读者信息 a  INER  JOIN 借阅信息 b
       ON a.借阅证号= b.借阅证号
       WHERE a.借阅证号= @id	
   使用EXECUTE命令执行存储过程reader_ info, 其参数值为“B00001”

在这里插入图片描述
在这里插入图片描述
4. 使用“读者信息”表“图书信息”表“借阅信息”表。
(1) 创建-一个带参数的存储过程reader_n_p,当任意输入一个读者的姓名时,将从3个表中返回该读者的借阅证号、所借书籍名称和归还日期。
插入代码为:

CREATE PROCEDURE reader_n_p AS
SELECT 读者信息.姓名,读者信息.借阅证号,[ 图书信息].书名,借阅信息.归还日期
FROM 读者信息 INNER JOIN 借阅信息 ON 读者信息.借阅证号=借阅信息.借阅证号
INNER JOIN [ 图书信息] ON [ 图书信息].图书编号=借阅信息.图书编号

执行如下:
在这里插入图片描述
(2) 执行存储过程reader_n_p,查询“李盼”的借阅证号、所借书籍名称和归还日期。
插入代码为:

CREATE PROCEDURE reader_n_p AS
SELECT 借阅证号
FROM [读者信息]
WHERE 姓名='李盼'
SELECT 书名
FROM [ 图书信息]
SELECT 归还日期
FROM [借阅信息]

执行如下:因为读者信息里没有名字为李盼的信息,所以默认显示全部读者信息。
在这里插入图片描述
(3) 如果存储过程reader_n_p执行时没有提供参数,要求能按默认值查询(设姓名为“刘卫华”),则需要如何修改该过程的定义?

将读者的姓名加入查询过程中,select 姓名 form 读者信息
插入代码为:

CREATE PROCEDURE reader_n_p AS
SELECT 姓名

执行结果如下:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值