0
私が読んでいる本の中には、2つの異なるテーブルのレコードをマージする方法が示されています。以下のコードがあります。これはOracle SQLにあります。 (;)私は、SQL Serverでこれを実行しようとしているが、私はMERGE文はセミコロンで終了する必要がありましたOracle MERGE文をT-SQL文に変換するにはどうすればよいですか?
merge into emp_commission ec
using (select * from emp) emp
on (ec.empno=emp.empno)
when matched then
update set ec.comm = 1000
delete where (sal < 2000)
when not matched then
insert (ec.empno, ec.enme, ec.deptno, ec.comm)
values (emp.empno, emp.ename, emp.deptno, emp.comm)
error.Iはセミコロンを追加しましたが、まだなっています同じエラー。
PL/SQLは、Oracle SQLと緊密に連携する手続き型(必須)プログラミング言語です。 MERGE文はOracle SQLです(OracleではSQL標準の定義とMERGEの構文が実装されています)。 PL/SQLとは何も関係ありません。 PL/SQLが** OracleのバージョンのSQLの名前ではないことを理解してください。あなたの投稿を編集してこれを修正します。 – mathguy
それから:その本は何ですか?すぐに目立つのは、なぜ(empからselect * emp)を使うのか?なぜ単にempを使うのではないのですか?それが本の全体的な品質であれば、別のものを探すこともできます。 – mathguy
@mathguy本はSQL Cookbookです。更新していただきありがとうございます。 – Adaptron