2017-06-01 19 views
0

出力としてテーブル名を取得する必要があります。次に、サンプルコードを示します。 INSERT文でストアドプロシージャを使用した出力としてのSQL表示テーブル

eg. set @table = [dbo].[mytable]

 Insert into <table 1> (a, b, c, d as table name, i) 
    select a, b , c, '[email protected]+' , i from <table 2> 
    inner join <table2> on a = tmp.a ` 

、私はすべてのレコードに適用されるテーブル名を持つように、列Dを必要としています。私はエラーを取得している "マルチパートはバインドすることはできません"専用の目的のためにテーブル名を呼び出す特定の方法はありますか?

ありがとうございます!

+1

あなたのサンプルクエリは全く意味がありません。 'tmp'とは何ですか?なぜ自己結合? –

答えて

0

まず第一に、あなたがテキストを挿入しているので、あなたのテーブル別名を引用符で

set @table = '[dbo].[mytable]' 

第二にそれを置くと列に適用されます(あなたは両方のための表2を持っていた)

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 
関連する問題