首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

SQL SERVER2000,2005都能运行,2008不能正常运行的语句。该怎么解决

2012-02-03 
SQL SERVER2000,2005都能运行,2008不能正常运行的语句。该语句的作用是查出约束的字段并生成添加的语句,在S

SQL SERVER2000,2005都能运行,2008不能正常运行的语句。
该语句的作用是查出约束的字段并生成添加的语句,在SQL SERVER2000,2005都能运行,但在SQL Server 2008下运行,AddDefaultConstraint字段出不来数据,检查后发现c.name的影响,因c.name出不来数据,因此请教大虾们是什么原因?

语句如下:


select 'ALTER TABLE [' + b.name + '] ADD CONSTRAINT [' + a.name + '] DEFAULT ' + d.text + ' FOR [' + c.name + ']' as [AddDefaultConstraint]
,'ALTER TABLE [' + b.name + '] DROP CONSTRAINT [' + a.name + ']' as [DropDefaultConstraint]
from sysobjects a
left join sysobjects b on a.parent_obj = b.id
left join syscolumns c on a.parent_obj = c.id and a.info = c.colid
left join syscomments d on a.id = d.id
where a.xtype = 'd'
order by b.name

[解决办法]

SQL code
select @@VERSION/*Microsoft SQL Server 2008 R2 (RTM) - 10.50.1617.0 (Intel X86)     Apr 22 2011 11:57:00     Copyright (c) Microsoft Corporation    Enterprise Evaluation Edition on Windows NT 6.1 <X64> (Build 7600: ) (WOW64)(1 行受影响)*/
[解决办法]
a.info和c.colid两个字段分别是什么意思,你知道?
[解决办法]
探讨
引用:
怎么我的 2008可以运行?

正常出来的AddDefaultConstraint和DropDefaultConstraint两字段都有数据的。

2008下AddDefaultConstraint数据为NULL,DropDefaultConstraint是有数据的。

热点排行
Bad Request.