SQL--实验七

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 @id  char(8)
AS 
SELECT 姓名,书名,归还日期 from 读者信息 a join 借阅信息 b
on a.借阅证号=b.借阅证号 join 图书信息 c on b.图书编号=c.图书编号
where a.借阅证号=@id


 (2) 执行存储过程rd_br, 查询B00001读者的姓名、所借图书的名称、归还日期。

EXECUTE rd_brw 'B00001'


   (3) 使用系统存储过程sp_rename将存储过程rd_brw 更名为rd_borrow.
sp_rename rd_brw,rd_borrow

3. 输入以下代码,创建存储过程reader_info, 执行时通过输入借阅证号,可以查询该借阅证号对应的读者的借阅信息。
CREATE  PROCEDURE  reader_ info  @id  VARCHAR(16)
AS
    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  @name  VARCHAR(10)
AS
    SELECT  a.借阅证号, 书名,归还日期
       FROM 读者信息 a  INNER  JOIN 借阅信息 b 
       ON a.借阅证号= b.借阅证号 INNER JOIN 图书信息 c on b.图书编号=c.图书编号
       WHERE a.姓名= @name

   (2) 执行存储过程reader_n_p,查询“李盼”的借阅证号、所借书籍名称和归还日期。

EXECUTE reader_n_p '李盼'

表中没有‘李盼’的相关字段

   (3) 使用系统存储过程sp_helptext,查看存储过程reader_n_p的文本信息。 
   

   (4) 如果存储过程reader_n_p执行时没有提供参数,要求能按默认值查询(设姓名为“刘卫华”),则需要如何修改该过程的定义?
CREATE  PROCEDURE  reader_n_p  @name varchar='刘卫华' 
AS
    SELECT  a.借阅证号, 书名,归还日期
       FROM 读者信息 a  INNER  JOIN 借阅信息 b 
       ON a.借阅证号= b.借阅证号 INNER JOIN 图书信息 c on b.图书编号=c.图书编号
       WHERE a.姓名= @name

5. 使用“读者信息”表。
   (1) 创建-一个加密的存储过程reader_dt, 查询在“2009-1-1” 以后办借阅卡的读者信息。
CREATE  PROCEDURE  reader_dt  
WITH ENCRYPTION AS
SELECT * FROM 读者信息 where 办卡时间>'2009-1-1'

   (2) 执行存储过程reader_dt, 查看返回读者的情况。

EXECUTE reader_dt

   (3) 使用T-SQL语句DROP  PROCEDURE删除存储过程reader_dt。

drop procedure reader_dt
不经一番彻骨寒,哪有梅花扑鼻香?
原文地址:https://www.cnblogs.com/zongyao/p/13831199.html