日期:2014-05-18  浏览次数:20555 次

这条SQL语句执行完后查询分析器就挂掉了!!!!!
题目是真的   慢慢看

先说需求
有个表的A字段是nvarchar,现在要改成ntext,数据不能变

我写了个DEMO
可以执行完之后,再打开一个新的查询分析器,查看新字段的约束(“在新窗口中编写脚本对象-创建”),然后查询分析器就无声消失了


脚本如下:


--建立表table1
CREATE   TABLE   [dbo].[table1]   (
[ID]   [int]   IDENTITY   (1,   1)   NOT   NULL   ,
[Content]   [nvarchar]   (4000)   COLLATE   Chinese_PRC_CI_AS   NOT   NULL
)   ON   [PRIMARY]
GO

ALTER   TABLE   [dbo].[table1]   ADD  
CONSTRAINT   [PK_table1]   PRIMARY   KEY     CLUSTERED  
(
[ID]
)     ON   [PRIMARY]  
GO


--填充两条数据
INSERT   INTO   [table1]   ([Content])   VALUES   ( 'abc ')
INSERT   INTO   [table1]   ([Content])   VALUES   ( 'def ')


--增加字段Content2   类型ntext
ALTER   TABLE   dbo.table1   ADD   Content2   ntext   NOT   NULL   CONSTRAINT   DF_table1_Content2   DEFAULT   ' '


--将字段Content的值复制到Content2
UPDATE   table1   SET   Content2=Content   WHERE   ID=ID


--删除字段Content
ALTER   TABLE   dbo.table1   DROP   COLUMN   Content

--将字段Content2重命名为Content
EXECUTE   sp_rename   N 'dbo.table1.Content2 ',   N 'Content ',   'COLUMN '
GO



------解决方案--------------------
……然后查询分析器就无声消失了
---------------
SQL版的时光隧道啊