我对一个大文本文件进行了批量插入,这是对我现有数据库的更新。我遇到了各种截断错误的麻烦,所以我只是将所有内容设置为 varchar(max)
。现在一切都在 SQL Server 中,我想将数据库 b 的数据类型转换为数据库 a 的数据类型。如果两个数据库具有相同的表和字段名称,有哪些方法可以完成此任务?或者最好在导入后运行一个“硬编码”的预先存在的脚本
最佳答案
尝试这样的事情并修改结果并执行它
declare @sql varchar(max)
set @sql=''
select
@sql=@sql+'Alter table '+table_name+' alter column '+column_name+' '+cast(data_type as varchar(100))+
case when data_type like '%char%' then '(' else '' end +cast(coalesce(CHARACTER_MAXIMUM_LENGTH,'' ) as varchar(100))+
case when data_type like '%char%' then ')' else '' end+';'
from
information_schema.columns
where
table_name='test'
print @sql
关于sql - 将数据类型从一个数据库表转换为另一个数据库表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11688382/