alter table yl_inlist  alter column indiagnose VARCHAR(255) 
原来是TEXT的.

解决方案 »

  1.   

    原来是TEXT是不能更改的,先删除列再增加
      

  2.   

    企业管理器里可以改啊。数据都很短的不超过255的。能不能用SQL语句实现呢?
    谢谢。
      

  3.   

    去不掉的,查看帮助有以下提示:
    要更改的列不能是: 数据类型为 text、image、ntext 或 timestamp 的列。
    表的 ROWGUIDCOL 列。
    计算列或用于计算列中的列。
    被复制列。
    用在索引中的列,除非该列数据类型是 varchar、nvarchar 或 varbinary,数据类型没有更改,而且新列大小等于或者大于旧列大小。
    用在由 CREATE STATISTICS 语句创建的统计中的列。首先用 DROP STATISTICS 语句删除统计。由查询优化器自动生成的统计会由 ALTER COLUMN 自动除去。
    用在 PRIMARY KEY 或 [FOREIGN KEY] REFERENCES 约束中的列。
    用在 CHECK 或 UNIQUE 约束中的列,除非用在 CHECK 或 UNIQUE 约束中的可变长度列的长度允许更改。
    有相关联的默认值的列,除非在不更改数据类型的情况下允许更改列的长度、精度或小数位数。 
    有些数据类型的更改可能导致数据的更改。例如,将数据类型为 nchar 或 nvarchar 的列更改为 char 或 varchar 类型,将导致扩展字符的转换。有关更多信息,请参见 CAST 和 CONVERT。降低列的精度和小数位数可能导致数据截断。