第 1 頁:單選題 |
第 4 頁:應用題 |
第 5 頁:設計與應用題 |
47設有圖書管理數據庫,包含三張表:
圖書明細表(圖書編號,圖書類別,圖書名稱,作者,出版社,出版日期,定價);
讀者表(借書證號,姓名,系別,辦證日期);
借出信息表(借出編號,借書證號,圖書編號,借書日期);
完成下列操作:
定義一個多語句表值函數,用于查詢學生借書情況,只需提供參數:借書證號,就可以通過調用函數返回此學生的借書情況,若有借書籍,則返回所借書籍的編號、書籍名稱、定價和借書日期;若沒有在借書籍,則返回記錄為空。設函數名為:f_BorrowBook(@jszh char(20))。
參考解析:
【解題思路】
SQL Server 2008多語句表值函數的格式為:
CREATE 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
[;]
::=
({I}
[table_constraint][,...n])
采用三表聯合查詢,通過傳入的借書證號查出借出信息表中的圖書編號,然后查出圖書明細表的信息。
【參考答案】
CREATE FUNCTION BorrowBook(@jszh char(20))
RETURNS@jsqkb TABLE(書籍編號char(20),書籍名稱char(50),定價float,借書日期datetime)
AS
BEGIN
INSERT@jsqkb
SELECT圖書明細表.圖書編號,圖書名稱,定價,借出信息表.借書日期FROM借出信息表,圖書明細表
WHERE借出信息表.圖書編號=圖書明細表.圖書編號AND借出信息表.借書證號=@jszh
RETURN
END
相關推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |