日期:2014-05-17  浏览次数:20570 次

求sql:修改数据库中所有表的数量字段
开始建数据库时,设的数量字段为3位小数,系统运行一段时间后,发现3位小数不够了,重建数据库也不可能了,各位大虾有木有简单点的方法能够将所有的数量字段改为4位小数?
------解决方案--------------------

DECLARE @SQL VARCHAR(MAX)
select @SQL=ISNULL(@SQL+'
','')+'ALTER TABLE '+OBJECT_NAME(OBJECT_ID)+' ALTER COLUMN '+COL.NAME+' '+TYPES.NAME+'('+LTRIM(COL.PRECISION)+',4);'
FROM SYS.COLUMNS COL
INNER JOIN SYS.TYPES TYPES ON COL.SYSTEM_TYPE_ID=TYPES.SYSTEM_TYPE_ID
WHERE TYPES.NAME IN ('NUMERIC','DECIMAL') AND COL.SCALE=3

EXEC(@SQL)