我需要获取一个表名作为输出,以下是示例代码。
eg. set @table = [dbo].[mytable]
Insert into <table 1> ( a, b, c, d as table name, i )
select a, b , c, '+@table+' , i from <table 2>
inner join <table2> on a = tmp.a `
在insert语句中,我需要列D将表名应用于所有记录。我收到错误“multipart not bound”是否有一种特定的方法来调用表名仅用于显示目的?
谢谢!
答案 0 :(得分:1)
首先,你要插入文字,所以把它放在引号
中set @table = '[dbo].[mytable]'
其次,对表进行别名并应用于列(两者都有table2)
Insert into [Table1] ( a, b, c, d, i )
select t1.a, t1.b , t1.c, @table , t1.i
from [Table2] t1
inner join [Table2] t2 on t1.a = t2.a