设有图书管理数据库,包含三张表: 图书明细表(图书编号,图书类别,图书名称,作者,出版社,出版日期,定价); 读者表(借书证号,姓名,系别,办证日期); 借出信息表(借出编号,借书证号,图书编号,借书日期); 完成下列操作: 定义一个多语句表值函数,用于查

admin2020-05-25  165

问题 设有图书管理数据库,包含三张表:
图书明细表(图书编号,图书类别,图书名称,作者,出版社,出版日期,定价);
读者表(借书证号,姓名,系别,办证日期);
借出信息表(借出编号,借书证号,图书编号,借书日期);
完成下列操作:
定义一个多语句表值函数,用于查询学生借书情况,只需提供参数:借书证号,就可以通过调用函数返回此学生的借书情况,若有借书籍,则返回所借书籍的编号、书籍名称、定价和借书日期;若没有在借书籍,则返回记录为空。设函数名为:f_BorrowBook(@jszh char。

选项

答案CREATE FUNCTION BorrowBook(@jszh char(20)) RETURNS@jsqkb TABLE(书籍编号char(20),书籍名称char(50),定价float,借书日期datetime) AS BEGIN INSERT into@jsqkb SELECT图书明细表.图书编号,图书名称,定价,借出信息表.借书日期FROM借出信息表,图书明细表 WHERE借出信息表.图书编号=图书明细表.图书编号AND借出信息表.借书证号=@jszh RETURN END

解析 SQL Server 2008多语句表值函数的格式为:
    C REATE FUNCTION[schema_name.]function_name
    ([{@parameter_name[AS][type_schema_name.]parameter_data_type
    [=default]}
    [,…n]
    ]
    )
    RETURNS@return_variable TABLE
    [AS]
    BEGIN
    function_body
    RETURN
    END
    [;]
    ::=
    (  {}
    [table_constraint],[…n])
采用三表联合查询,通过传入的借书证号查出借出信息表中的图书编号,然后查出图书明细表的信息。
转载请注明原文地址:https://jikaoti.com/ti/wZkiFFFM
0

相关试题推荐
最新回复(0)