SQL显示表作为使用存储过程的输出

时间:2017-06-01 12:21:09

标签: sql sql-server stored-procedures

我需要获取一个表名作为输出,以下是示例代码。

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”是否有一种特定的方法来调用表名仅用于显示目的?

谢谢!

1 个答案:

答案 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