2011-07-12 4 views
4

t-sqlのOUTPUT句でフィルタを使用しようとしています。私は2つのINSERT文を使用したくないパフォーマンス上の理由からOutput句sqlのフィルタ

Insert into tbl_1(col1,col2) 
Output Inserted.col1 into #tbl_temp 
**where col1 > 0** 
select col3, col4 
from tbl_2 

:私は何をしたいか

はこのようなものです。

答えて

6
insert into #tbl_temp 
select col1 
from 
    (
    insert into tbl_1(col1,col2) 
    output Inserted.col1 
    select col3, col4 
    from tbl_2 
) as T 
where T.col1 > 0 
+0

私はあなたがそれを行うことができるかどうかわかりませんでした。サブクエリとしての更新アクションを持つことは、とても汚いと感じます。 –

+2

@Damien_The_Unbeliever - このページの例の 'K'はそれだけです。 http://msdn.microsoft.com/en-us/library/ms177564.aspx –

+0

これは次のようにする必要があります:Dこれを試してみます:D thx –