<pre class="has">
  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

  1. 输入以下代码,创建存储过程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”

  2. 使用“读者信息”表“图书信息”表“借阅信息”表。
    (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
  1. 使用“读者信息”表。
    (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

标签: count, 存储, 实验, SQL, reader, print, dt, letters

相关文章推荐

添加新评论,含*的栏目为必填