SQL 2005复制数据库之间的单列

Pau*_*ulj 2 t-sql sql-server copy

我还是T-SQL和SQL 2005的新手.我需要将database1中的一个整数列导入到database2中的相同表(只缺少我需要的列)中.两者都是sql 2005数据库.我在Server Management Studio中尝试了内置的import命令,但它迫使我复制整个表.这会导致由于约束和"只读"列导致的错误(sql2005中的"只读"意味着什么).我只想抓住一个列并将其复制到一个表中.

必须有一个简单的方法来做到这一点.就像是:

INSERT INTO database1.myTable columnINeed
SELECT columnINeed from database2.myTable
Run Code Online (Sandbox Code Playgroud)

All*_*nde 5

插入不会这样做,因为它会尝试在表的末尾插入新行.您尝试做的事情是在现有行的末尾添加一列.

我不确定语法是否完全正确但是,如果我理解你,那么这将完成你所追求的目标.

  1. 在database2中创建允许空值的列.

  2. 执行更新:

    UPDATE database2.dbo.tablename SET database2.dbo.tablename.colname = database1.dbo.tablename.colname FROM database2.dbo.tablename INNER JOIN database1.dbo.tablename ON database2.dbo.tablename.keycol = database1.dbo.tablename. KEYCOL