0

みなさん、こんにちは。

Merge INTO を使用して、次の例のように別のテーブルからテーブルを更新しようとしています:

MERGE INTO locations l USING new_locations n         
ON (l.customer_id = n.customer_id              
AND l.location_x = n.location_x 
AND             l.location_y = n.location_y)   
WHEN MATCHED THEN UPDATE SET location_count = l.location_count + n.location_count   
WHEN NOT MATCHED THEN INSERT (customer_id, location_x, location_y, location_count, location_name)        
VALUES (n.customer_id, n.location_x, n.location_y, n.location_count, n.location_name);

私は MSSQL を使用しており、DbVisualizer と ODBC ブリッジ経由で接続しています。

コマンドを実行すると、次のようになります。一般エラー。

いくつかの検索の後 、VbVisualizer で Mere にこの形式を使用する必要があることがわかりました。

@delimiter %%;
MERGE x AS y<code here>
;
@delimiter ;%% 

私がこのようにしたとき、プログラムはハングアップしました:スクリプトを解析しています。DbVisualizer のデフォルトのステートメント区切り文字を変更しようとしましたが、それでもうまくいきません

/************************************編集中************ ****************/ 解析エラー

私が削除した場合、私は得る

09:27:46  [MERGE - 0 row(s), 0.000 secs]  [Error Code: 10713, SQL State: 37000]  [Microsoft][ODBC SQL Server Driver][SQL Server]A MERGE statement must be terminated by a semi-colon (;).

ツール プロパティ Statement Deimeters を使用し、(;) を GO に置き換えると、次のエラーが発生します。

09:29:24  [MERGE - 0 row(s), 0.000 secs]  [Error Code: 0, SQL State: S1000]  General error

/********************************編集終了**************** ************/

手伝って頂けますか?ありがとう

4

1 に答える 1