积极答复者
SQLSERVER BUG ? NO!

问题
-
if not exists(SELECT * FROM syscolumns WHERE name = N'BBDA_SB' AND id =Object_id (N'bbda'))
begin
alter table bbda add BBDA_SB varchar(1) default '0'
UPDATE bbda SET BBDA_SB='0'
end
Microsoft SQL Server Management Studio 9.00.1399.00
Microsoft Analysis Services 客户端工具 2005.090.1399.00
Microsoft 数据访问组件 (MDAC) 2000.086.1830.00 (srv03_sp1_rtm.050324-1447)
Microsoft MSXML 2.6 3.0 4.0 5.0 6.0
Microsoft Internet Explorer 6.0.3790.1830
Microsoft .NET Framework 2.0.50727.1433
操作系统 5.2.3790此版本的sql2005可以执行.
但是
Microsoft SQL Server Management Studio 9.00.3042.00
Microsoft Analysis Services 客户端工具 2005.090.3042.00
Microsoft 数据访问组件 (MDAC) 2000.086.3959.00 (srv03_sp2_rtm.070216-1710)
Microsoft MSXML 2.6 3.0 6.0
Microsoft Internet Explorer 6.0.3790.3959
Microsoft .NET Framework 2.0.50727.42
操作系统 5.2.3790
这个版本的sql2005及sql2008不能执行此sql,
难道是sqlserver不向下兼容?
scott- 已移动 Leo Liu - MSFT 2011年1月14日 9:35 Off-Topic, moved for better support. (发件人:Visual C#)
- 已编辑 www_scott 2011年1月27日 3:08
答案
全部回复
-
-
非BUG
if not exists(SELECT * FROM syscolumns WHERE name = N'BBDA_SB' AND id =Object_id (N'bbda'))
alter table bbda add BBDA_SB varchar(1) default '0'
Go
UPDATE bbda SET BBDA_SB='0' Where BBDA_SB is Null
**防止已经有此字段及值
读下SQL机制吧,这是它的正确逻辑
Try SQL Server 2008 QQ:315054403 dgdba@hotmail.com