资源描述:
《2010年自考数据上机答案》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、/*1.创建一个以自己姓名命名的数据库(如考生姓名为“张三” ,则数据库的名称为“张三”),数据库的大小为2M。*/IFEXISTS(SELECTnameFROMmaster.dbo.sysdatabasesWHEREname=N'鲁勇明')DROPDATABASE[鲁勇明]GOCREATEDATABASE[鲁勇明]ON(NAME=N'鲁勇明_Data',FILENAME=N'c:ProgramFilesMicrosoftSQLServerMSSQLdata鲁勇明_Data.MDF',SIZE=2,FILEGROWTH=10%)LOGON(NAME=N'鲁勇明_L
2、og',FILENAME=N'c:ProgramFilesMicrosoftSQLServerMSSQLdata鲁勇明_Log.LDF',SIZE=1,FILEGROWTH=10%)COLLATEChinese_PRC_CI_ASGO/*2.在自己创建的数据库中创建如下2个基本表。注意:数据类型及其宽度要合理,要定义主关键字、参照完整性约束以及指定约束。指定约束:(1)出院属性值只能是“是”或“否”,默认值为“否”,(2)预交费不能少于500.00元,(3)实际发生费不能为负数。*/use[鲁勇明]GOifexists(select*fromdbo.sysobje
3、ctswhereid=object_id(N'[dbo].[FK_费用_病人]')andOBJECTPROPERTY(id,N'IsForeignKey')=1)ALTERTABLE[dbo].[费用]DROPCONSTRAINTFK_费用_病人GOifexists(select*fromdbo.sysobjectswhereid=object_id(N'[dbo].[病人]')andOBJECTPROPERTY(id,N'IsUserTable')=1)droptable[dbo].[病人]GOCREATETABLE[dbo].[病人]([病历号][int]NOTNULL
4、,--IDENTITY(1000,1)[姓名][char](10)COLLATEChinese_PRC_CI_ASNULL,[预交费][numeric](18,2)NULL,[实际发生费][numeric](18,2)NULL,[出院][char](2)COLLATEChinese_PRC_CI_ASNULL)ON[PRIMARY]GOALTERTABLE[dbo].[病人]WITHNOCHECKADDCONSTRAINT[DF_病人_出院]DEFAULT('否')FOR[出院],CONSTRAINT[PK_病人]PRIMARYKEYCLUSTERED([病历号])ON[P
5、RIMARY],CONSTRAINT[出院与否约束]CHECK([出院]='否'or[出院]='是'),CONSTRAINT[实际发生费约束]CHECK([实际发生费]>=0),CONSTRAINT[预交费约束]CHECK([预交费]>=500.00)GO/*基本表2:费用*/ifexists(select*fromdbo.sysobjectswhereid=object_id(N'[dbo].[费用]')andOBJECTPROPERTY(id,N'IsUserTable')=1)droptable[dbo].[费用]GOCREATETABLE[dbo].[费用]([编号
6、][decimal](18,0)NOTNULL,[病历号][int]NOTNULL,[费用名称][char](10)COLLATEChinese_PRC_CI_ASNULL,[金额][decimal](18,2)NULL,[日期][datetime]NULL)ON[PRIMARY]GOALTERTABLE[dbo].[费用]WITHNOCHECKADDCONSTRAINT[PK_费用]PRIMARYKEYCLUSTERED([编号])ON[PRIMARY]GOALTERTABLE[dbo].[费用]ADDCONSTRAINT[FK_费用_病人]FOREIGNKEY([病历号
7、])REFERENCES[dbo].[病人]([病历号])GO/*过程sp1:负责病人表所有记录的插入*/ifexists(select*fromdbo.sysobjectswhereid=object_id(N'[dbo].[sp1]')andOBJECTPROPERTY(id,N'IsProcedure')=1)dropprocedure[dbo].[sp1]GOSETQUOTED_IDENTIFIERONGOSETANSI_NULLSONGOCREATEPROCEDURE[sp1](@病历号_1[int],@