1、数据库实验答案第二版实验二:drop table 订单明细godrop table 订购单godrop table 产品godrop table 客户gocreate table 客户( 客户号 char(8) primary key check(客户号 like a-z% or 客户号 like A-Z%), 客户名称 varchar(40) not null, 联系人 char(8), 地址 varchar(40), 邮政编码 char(6) check(邮政编码 like 0-90-90-90-90-90-9), 电话 char(12) check (isnumeric(电话)=1 an
2、d (len(ltrim(电话)=7) )-drop table 产品create table 产品( 产品号 char(8) collate Chinese_PRC_Stroke_CS_AI_WS -大小写敏感 not null primary key check(产品号 like A-ZA-Z%), 产品名称 varchar(40) , 规格说明 char(40) unique, 单价 smallmoney check(单价0)-drop table 订购单create table 订购单( 客户号 char(8) not null foreign key references 客户, 订
3、单号 char(8) primary key, 订购日期 datetime default getdate()-drop table 订单明细create table 订单明细( 订单号 char(8) foreign key references 订购单, 序号 tinyint , 产品号 char(8) collate Chinese_PRC_Stroke_CS_AI_WS -大小写敏感 not null foreign key references 产品, 数量 smallint check(数量0), primary key (订单号,序号)2 1) -1.产品规格的类型改为varch
4、ar(40) alter table 产品 alter column 规格说明 varchar(40) -出现以下错误: 服务器: 消息 5074,级别 16,状态 8,行 1 对象 UQ_产品_7C8480AE 依赖于 列 规格说明。 服务器: 消息 4922,级别 16,状态 1,行 1 ALTER TABLE ALTER COLUMN 规格说明 失败,因为有一个或多个对象访问此列。 -原因:建表是规格说明字段是有唯一约束,该约束由系统给予命名 -解决方法:根据错误信息里的约束名,用下列命令删除约束 alter table 产品 drop constraint UQ_产品_7C8480AE
5、 -3.再次执行修改 alter table 产品 alter column 规格说明 varchar(40) -4.如果有必要,再给修改后的规格说明增加唯一约束 ALTER table 产品 add constraint uq unique(规格说明) -成功2 2)为订购单表增加一个新的字段完成日期,类型为datetime,默认是空值。 alter table 订购单 add 完成日期 datetime default null2 2) alter table 订单明细 add constraint quality check (数量 =50-(4)select * from 产品 whe
6、re 单价2 and 产品名称=洗衣粉-(5)select * from 产品 where 单价2 and (产品名称=洗衣粉or 产品名称=白糖)-(6)查询2006年3月份select 客户名称,联系人,电话,订单号 from 客户 a,订购单 b where a.客户号=b.客户号 and year(订购日期)=2006 and month(订购日期)=03-查询指定日期的订购单位select 客户名称,联系人,电话,订单号 from 客户 a,订购单 b where a.客户号=b.客户号 and 订购日期=06-03-06-插入数据时,不指定日期的时间部分,故皆为0时0分0秒-如用以下命令修改某订购单的日期,则因小时有差异,将不满足日期相等条件update 订购单 set 订购日期=dateadd(hour,2,订购日期) where 订单号=OR11-(7)
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1