我在SQL Server中遇到一个奇怪的问题我尝试在TableB中插入@a值,但它始终为NULL。我通过添加Print line来检查@a值..它有一个值。 我尝试用固定的整数替换它。有用。 为什么以及如何解决这个问题?
declare @a integer
set @a = select top 1 field1 from tableA
print @a
insert into tableB (f1,f2,f2, @a)
FROM
Select f1, f2, f3 from TableC
答案 0 :(得分:0)
您不能将变量用作列的名称。你的意思是这样的吗?
insert into tableB (f1, f2, f3, f4)
Select f1, f2, f3, @a
from TableC;
您的代码示例中有多个错误。您无法在insert
的列列表中两次列出列。有一个FROM
就在那里。并且set
不正确。它应该是:
set @a = (select top 1 field1 from tableA)