使用select语句插入会产生错误select中只有一个表达式不存在

时间:2018-06-18 20:39:31

标签: sql sql-server

我是SQL Server的新手,并且插入语句有问题。我将旧数据库转换为SQL服务器关系数据库。我正在将旧数据传输到新表中。旧记录不完整导致问题,因为新表中的字段不允许空值。所以我要做的是在缺少的字段中插入n / a然后使用select语句同时检索旧表中的可用数据,所以我不会得到空值,但是我获取错误当子查询未与EXISTS一起引入时,只能在选择列表中指定一个表达式,而Insert语句的列数多于values语句。 我确定有办法做到这一点,但我无法弄清楚,希望有人可以提供帮助。以下是该声明的简要说明。

insert into database1.dbo.table (col1, col2, .....col10)
values('n/a','n/a',(select col3, col4...col10 from database2.dbo.table)

1 个答案:

答案 0 :(得分:2)

您可以尝试使用INSERT INTO ... SELECT

INSERT INTO database1.dbo.table  (col1, col2, .....col10)
SELECT 'n/a',
       'n/a',
       col3, 
       col4,
       ...col10
FROM database2.dbo.table