【正文】
where 借閱編號 =借閱編號 mit GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS ON GO 。 mit GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_NULLS ON GO create proc sf_圖書歸還 借閱編號 int, 罰款金額 money as begin tran 借書出庫 ,減少圖書庫存量 update 圖書信息 set 現存量 = isnull(現存量 ,0) + 1 from 圖書 信息 as a, 圖書借閱 as b where = and =借閱編號 如果罰金不是 0, 在 圖書罰款 中產生記錄 if 罰款金額 0 insert into 圖書罰款 (圖書編號 ,讀者編號 ,罰款日期 ,應罰金額 ,是否交款 ) select 圖書編號 ,讀者編號 ,getdate(), 罰款金額 , 0 from 圖書借閱 where 借閱編號 =借閱編號 插入圖書歸還表 insert into 圖書歸還 (圖書編號 ,讀者編號 ,歸還時間 ) select 圖書編號 ,讀者編號 ,getdate() from 圖書借閱 where 借閱編號 =借閱編號 設置借閱狀態(tài) update 圖書借閱 set 狀態(tài) =39。 where 狀態(tài) =39。 設置借閱狀態(tài) update 圖書借閱 set 狀態(tài) =39。) = 1) drop table [dbo].[讀者信息 ] GO CREATE TABLE [dbo].[圖書信息 ] ( [編號 ] [varchar] (50) COLLATE Chinese_PRC_CI_AS NOT NULL , [書名 ] [varchar] (200) COLLATE Chinese_PRC_CI_AS NULL , [作者 ] [varchar] (100) COLLATE Chinese_PRC_CI_AS NULL , [出版社 ] [varchar] (100) COLLATE Chinese_PRC_CI_AS NULL , [現存量 ] [int] NULL , [庫存總量 ] [int] NULL , [入庫時間 ] [smalldatetime] NULL , [簡介 ] [varchar] (100) COLLATE Chinese_PRC_CI_AS NULL ) ON [PRIMARY] GO CREATE TABLE [dbo].[圖書借閱 ] ( [借閱編號 ] [int] IDENTITY (1, 1) NOT NULL , [圖書編號 ] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL , [讀者編號 ] [varchar] (40) COLLATE Chinese_PRC_CI_AS NULL , [借閱時間 ] [smalldatetime] NULL , [應還時間 ] [smalldatetime] NULL , [狀態(tài) ] [varchar] (10) COLLATE Chinese_PRC_CI_AS NULL ) ON [PRIMARY] GO CREATE TABLE [dbo].[圖書歸還 ] ( [歸還編號 ] [int] IDENTITY (1, 1) NOT NULL , [圖書編號 ] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL , [讀者編號 ] [varchar] (40) COLLATE Chinese_PRC_CI_AS NULL , [退還押金 ] [money] NULL , [歸還時間 ] [smalldatetime] NULL , [確定歸還 ] [bit] NULL ) ON [PRIMARY] GO CREATE TABLE [dbo].[圖書罰款 ] ( [罰款編號 ] [int] IDENTITY (1, 1) NOT NULL , [圖書編號 ] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL , [讀者編號 ] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL , [罰款日期 ] [smalldatetime] NULL , [應罰金額 ] [money] NULL , [實收金額 ] [money] NULL , [是否交款 ] [bit] NULL , [備注 ] [varchar] (100) COLLATE Chinese_PRC_CI_AS NULL ) ON [PRIMARY] GO CREATE TABLE [dbo].[讀者信息 ] ( [編號 ] [varchar] (20) COLLATE Chinese_PRC_CI_AS NOT NULL , [姓名 ] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL , [性別 ] [varchar] (8) COLLATE Chinese_PRC_CI_AS NULL , [出生日期 ] [smalldatetime] NULL , [學號 ] [varchar] (60) COLLATE Chinese_PRC_CI_AS NULL , [聯系方式 ] [varchar] (100) COLLATE Chinese_PRC_CI_AS NULL , [備注 ] [varchar] (100) COLLATE Chinese_PRC_CI_AS NULL , [圖書借閱次數 ] [int] NULL , [是否掛失 ] [bit] NULL ) ON [PRIMARY] GO SET QUOTED_IDENTIFIER ON GO SET ANSI_NULLS ON GO CREATE proc sf_圖書借閱 as begin tran 借書出庫 ,減少圖書庫存量 update 圖書信息 set 現存量 = isnull(現存量 ,0) 1 from 圖書信息 as a, 圖書借閱 as b where = and =39。) and OBJECTPROPERTY(id, N39。) = 1) drop table [dbo].[圖書罰款 ] GO if exists (select * from where id = object_id(N39。) and OBJECTPROPERTY(id, N39。) = 1) drop table [dbo].[圖書歸還 ] GO if exists (select * from where id = object_id(N39。) and OBJECTPROPERTY(id, N39。) = 1) drop table [dbo].[圖書借閱 ] GO if exists (select * from where id = object_id(N39。) and OBJECTPROPERTY(id, N39。) = 1) drop table [dbo].[圖書信息 ] GO if exists (select * from where id = object_id(N39。) and OBJECTPROPERTY(id, N39。) = 1) drop procedure [dbo].[sf_圖書歸還 ] GO if exists (select * from where id = object_id(N39。) and OBJECTPROPERTY(id, N39。) = 1) drop procedure [dbo].[sf_圖書借閱 ] GO if exists (select * from where id = object_id(N39。) and OBJECTPROPERTY(id, N39。) = 1) ALTER TABLE [dbo].[圖書罰款 ] DROP CONSTRAINT FK_圖書罰款 _讀者信息 GO if exists (select * from where id = object_id(N39。) and OBJECTPROPERTY(id, N39。) = 1) ALTER TABLE [dbo].[圖書借閱 ] DROP CONSTRAINT 圖書借閱 _圖書編號 _fk GO if exists (select * from where id = object_id(N39。) and OBJECTPROPERTY(id, N39。) = 1) ALTER TABLE [dbo].[圖書歸還 ] DROP CONSTRAINT 圖書歸還 _圖書編號 _fk GO if exists (select * from where id = object_id(N39。) and OBJECTPROPERTY(id, N39。) = 1) ALTER TABLE [dbo].[圖書罰款 ] DROP CONSTRAINT FK_圖書罰款 _圖書信息 GO if exists (select * from where id = object_id(N39。) and OBJECTPROPERTY(id, N39。 附錄 2:圖書館管理系統的主要代碼 SQL SERVER 數據庫相關模塊主要代碼 if exists (select * from where id = object_id(N39。注意,SQL 并不嚴格支持第 3 章所描述的關系模型的定義。 術語 ISO 組織公布的 SQL 標準并未使用形式化的術語,如關系、屬性和元組,而使用通用的術語如表、列和行。該語言的開發(fā)等到學術界的關注,它們提供了該語言的理論基礎以及順利實現所需的技術,特別是在查詢優(yōu)化、數據分布和安全領域。 SQL 也被其他標準所使用,甚至作為一種定義工具影響了其他標準的發(fā)展。 SQL也成為美國聯邦信息處理標準( Federal Information Processing Standard,FIPS) ,銷售給美國政府的所有數據庫產品都需滿足該標準。 SQL 已成為應用體系結構的一部分,如 IBM的系統應用體系結構( System Application Architecture,SAA)。近來大的供應商開發(fā)數據庫產品都是基于 SQL或是 SQL 接口的,這些供應商 大多數都是標準制定組織的成員。 SQL 的重要性 SQL 是第一個也是惟一一個得到普通認可的數據庫標準語言。 雖然, SQL 源于 IBM 公司的建議,但是它的重要性很快就激發(fā)了其他供應商建立了自己的實現系統。而且當數據庫供應商引進新的功能時,他們還擴展他們的 SQL方言,使其離標準 更遠。SQL 的每個實現稱為一種“方言”。比如標準僅為 SQL 數據庫中的數據確定了六種不同的數據類型。這個版本附加了包括支持面向對象數據管理等特性,將在本書 節(jié)討論。盡管一些特性是第一次在標準中提及,但實質上,它們已 在 SQL 許多實現的一個或多個版本中以部