修改主键约约束的语句 SQL2000与2005区别

CNBeing 2011-10-15 01:34:25
修改主键约约束的语句,在SQL2005上可以通过.
客户现场有SQl2000,结果说过不去,具体是什么错,手上没有SQL2000,无法验证。

表tblA有六个字段,其中设置四个作为联合主键


ALTER TABLE [dbo].[tblA] ADD CONSTRAINT [PK_tblA] PRIMARY KEY NONCLUSTERED
(

[Field1] ASC,

[Field2] ASC,

[Field3] ASC,

[Field4] ASC

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]


...全文
75 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
唐诗三百首 2011-10-15
  • 打赏
  • 举报
回复
把alter table ..的"WITH .."子句去掉.

另问:客户现场SQL2000,你们没对应测试环境的呀.
--小F-- 2011-10-15
  • 打赏
  • 举报
回复
设置默认值alter table <表名> add <列名> <默认值类型>  default '<默认值>'
设置主键alter table <表名> add constraint <主键名> primary key(<列名>)
设置联合主键alter table <表名> add constraint <主键名> primary key(<列名1>,<列名2>,...,<列名N>)
约束alter table <表名> add constraint <约束名> check (<约束语句>)在输入语句的时候<>是不需要的
CNBeing 2011-10-15
  • 打赏
  • 举报
回复
因为alter的原因?
查到一个例子.

This example uses the FILLFACTOR clause set to 100. A FILLFACTOR of 100 fills every page completely and is useful only when you know that index values in the table will never change.


SET NOCOUNT OFF USE pubs IF EXISTS (SELECT name FROM sysindexes WHERE name = 'zip_ind') DROP INDEX authors.zip_ind GO USE pubs GO CREATE NONCLUSTERED INDEX zip_ind ON authors (zip) WITH FILLFACTOR = 100

--小F-- 2011-10-15
  • 打赏
  • 举报
回复
ALTER TABLE [dbo].[tblA] ADD CONSTRAINT [PK_tblA] PRIMARY KEY NONCLUSTERED 
(

[Field1] ASC,

[Field2] ASC,

[Field3] ASC,

[Field4] ASC

)
lishangliandie 2011-10-15
  • 打赏
  • 举报
回复
飘过。。。

27,580

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧