sql >> データベース >  >> RDS >> Sqlserver

OUTPUT句を使用してINSERTEDにない値を挿入する

    MERGEを使用する INSERTの代わりに :

      MERGEINTO trn_temp dUSING(SELECT D.DET_DATE、'SOMETEXT' AS sometext、SUM(D.DET_NET)AS the_sum ...)sON(1 =0)WHEN NOT MATCHED THENINSERT(TRN_TRAN_DATE、TRN_DESCRIPTION、TRN_AMT) VALUES(det_date、sometext、the_sum)OUTPUTs。* 

    更新:

    GROUP BYを回避するには 問題、これを使用してください:

      DECLARE @tmp TABLE(det_primary INT NOT NULL PRIMARY KEY)MERGEINTO register rUSING detail dON(r.det_primary_link =d.det_primary)WHEN NOT MATCHED THENINSERT(det_primary_link、ins_date)VALUES(det_primary、GETDATE() d.det_primaryINTO @tmp; INSERTINTO trn_temp(trn_tran_date、trn_description、trn_amt)OUTPUTINSERTED。*SELECT det_date、'sometext'、SUM(det_net)FROM @tmp tJOIN detail dON d.det_primary =t.det_primaryGROUP BY det_date  

    1. 2つの日付の間の月は機能します

    2. SQLを使用してpostgresテーブルを完全にコピーする

    3. ローカルのmysqlサーバーをAWSに移行しようとしています

    4. Javaを使用してMysqlからループで反復せずに単一行の結果をフェッチする