MS SQL批量修改数据库的表的字段类型

  • 格式:txt
  • 大小:1.41 KB
  • 文档页数:1

--try
CREATE TABLE tb(id int,val varchar(10),var2 varchar(50));
CREATE TABLE tb2(id int,val varchar(20),var2 varchar(50));
CREATE TABLE tb3(id int,val varchar(10),var2 varchar(10));
GO
--查字段
SELECT
OBJECT_NAME(object_id) AS tbName,
name AS columnName,
max_length
FROM sys.columns
WHERE OBJECT_NAME(object_id) IN('tb','tb2','tb3')
ORDER BY 1,column_id
-----

EXEC sp_MsForeachTable
@command1 = N'
DECLARE @str NVARCHAR(MAX);
SET @str = '''';

SELECT @str = @str + N''ALTER TABLE ? ALTER COLUMN ''
+ QUOTENAME() + '' numeric(8, 2);''
FROM syscolumns AS c
JOIN systypes AS t
ON c.xusertype = t.xusertype
AND c.id = OBJECT_ID(''?'') AND = ''money''
AND c.length = 8;

EXEC(@str);',
@whereand = N'
AND EXISTS(
SELECT * FROM syscolumns AS c
JOIN systypes AS t
ON c.xusertype = t.xusertype
AND c.id = o.id
AND = ''money''
AND c.length = 8)';

--查字段
SELECT
OBJECT_NAME(object_id) AS tbName,
name AS columnName,
max_length
FROM sys.columns
WHERE OBJECT_NAME(object_id) IN('tb','tb2','tb3')
ORDER BY 1,column_id

GO
DROP TABLE tb,tb2,tb3;

下载文档原格式

  / 1
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。