1、当数据表中存在数据,修改具有默认约束的字段定义时。
2、需要先删除已有约束,才能对字段定义进行修改。
3、而在SQL Server建表时创建的默认约束,其名称后会自动生成一段随机码。
4、因此在删除时需要找到(在SQL Server Management Studio中选择表——>约束,可以看到以DF_开头的默认约束)已有约束名,再进行删除,这一过程较为繁琐。
create table 表名((字段和一些行级定义的约束) ,
constraint chk check(id_no <> '')
)分类: 电脑/网络 >> 程序设计 >> 其他编程语言
问题描述:
两个表::
表 tblCommDevice 包含:
CommDevID 整型 从1开始自动增长,增长幅度为1 不允许为空 ,
PersonID 整型 不允许为空 ,
CommType 字符串 20 允许为空,
CommValue 字符串 60 不允许为空
表 tblPerson 包含:
PersonID 整型 从1开始自动增长,增长幅度为1 不允许为空 ,
LastName 字符串 20 不允许为空 ,
FirstName 字符串 20 不允许为空 ,
MailingAddr 字符串 40 允许为空,
City 字符串 20 允许为空,
State 字符串 2 允许为空,
Zip 字符串 10 允许为空,
PersonType 字符串 1 允许为空
索引键: tblCommDevice表 PersonID
索引键: tblCommDevice表 CommType
索引键: tblPerson表 LastName, FirstName
索引键: tblPerson表 FirstName
从表: tblCommDevice表
主表: tblPerson表
关联键:PersonID
用SQL语句怎么写,各位帮帮忙啊
解析:
if exists (select from dbosysobjects where id = object_id(N'[dbo][tblCommDevice]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo][tblCommDevice]
GO
CREATE TABLE [dbo][tblCommDevice]
(
CommDevID int identity(1,1) not null,
PersonID int not null,
CommType varchar(20) null,
CommValue varchar(60) not null,
CONSTRAINT pk_tblCommDevice PRIMARY KEY CLUSTERED (PetitionID) WITH FILLFACTOR = 90 ON [PRIMARY]
) ON [PRIMARY]
GO
CREATE INDEX [ix_tblCommDevice] ON [dbo][tblCommDevice]([CommType]) WITH FILLFACTOR = 60 ON [PRIMARY]
GO
if exists (select from dbosysobjects where id = object_id(N'[dbo][tblPerson]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo][tblPerson]
GO
CREATE TABLE [dbo][tblPerson]
(
PersonID int identity(1,1) not null,
LastName varchar(20) not null,
FirstName varchar(20) not null,
MailingAddr varchar(40) null,
City varchar(20) null,
State varchar(2) null,
Zip varchar(10) null,
PersonType varchar(1) null,
CONSTRAINT pk_tblPerson PRIMARY KEY CLUSTERED (PersonID) WITH FILLFACTOR = 90 ON [PRIMARY]
) ON [PRIMARY]
GO
CREATE INDEX [ix_tblPerson] ON [dbo][tblPerson]([FirstName]) WITH FILLFACTOR = 60 ON [PRIMARY]
GO
CREATE INDEX [ix_tblPerson_1] ON [dbo][tblPerson]([LastName], [FirstName]) WITH FILLFACTOR = 60 ON [PRIMARY]
GO
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)