首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将数据类型更改为与第二个数据库相同

将数据类型更改为与第二个数据库相同
EN

Stack Overflow用户
提问于 2019-01-04 14:44:11
回答 1查看 45关注 0票数 0

我有两个完全相同的SQL Server数据库。(SQL Server 2016开发人员版),其中一个数据库的数据类型(Ntext等)不正确,而第二个数据库的数据类型(nvarchar(n)等)正确。

我想更新数据库#1,并将所有数据类型更改为数据库#2中使用的相应数据类型。

列名和表名相同,但数据不同。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-01-04 15:07:06

我不是很确定,但您可能可以连接两个数据库中的信息模式表,并检查差异:

代码语言:javascript
运行
复制
SELECT d1.TABLE_NAME, d1.COLUMN_NAME
     , d1.DATA_TYPE, d2.DATA_TYPE
     , d1.CHARACTER_MAXIMUM_LENGTH, d2.CHARACTER_MAXIMUM_LENGTH
FROM database2.INFORMATION_SCHEMA.COLUMNS AS d2
LEFT JOIN database1.INFORMATION_SCHEMA.COLUMNS AS d1 ON
          d2.TABLE_NAME = d1.TABLE_NAME AND
          d2.COLUMN_NAME = d1.COLUMN_NAME
WHERE d2.TABLE_NAME IS NULL
OR d1.DATA_TYPE <> d2.DATA_TYPE
OR d1.CHARACTER_MAXIMUM_LENGTH <> d2.CHARACTER_MAXIMUM_LENGTH

然后可以检查结果并生成alter table查询。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54034180

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档