PCC-S-02201エラー
初心者です。
Oracle10G、 Pro*Cで開発をしているのですが、下記のSQLでコンパイルエラーが出てしまいます。
何が問題なのでしょうか?
やろうとしていることは、
「MERGE」を使用したデータの追加または変更です。
どうぞよろしくお願いいたします。
【コード】
EXEC SQL MERGE INTO MD_DZKI USING MK_SSZK
ON (MD_DZKI.DZKI_SHN_CD = MK_SSZK.SSZK_SHN_CD)
WHEN MATCHED THEN UPDATE SET MD_DZKI.DZKI_IG_KBN = MK_SSZK.SSZK_IG_KBN
WHEN NOT MATCHED THEN INSERT (MD_DZKI.DZKI_BTEN_CD, MD_DZKI.DZKI_SHN_CD,MD_DZKI.DZKI_IG_KBN)
VALUES (MK_SSZK.SSZK_BTEN_CD, MK_SSZK.SSZK_SHN_CD, MK_SSZK.SSZK_IG_KBN)
WHERE MK_SSZK.SSZK_SHN_CD = 100;
【エラー】
構文エラー(行297、列15、ファイル/home/neccomts/BT_SI_BUILD/Z/BSRoot/src/compilesrc/harada003.pc):
行297、列15でエラーが発生しました。ファイル/home/neccomts/BT_SI_BUILD/Z/BSRoot/src/compilesrc/harad
a003.pc
EXEC SQL MERGE INTO MD_DZKI USING MK_SSZK
..............1
PCC-S-02201, 記号"MERGE"が見つかりました。 次のうちの1つが入るとき:
for,
register, at, close, commit, connect, declare, describe,
execute, fetch, open, prepare, rollback, select, whenever,
alter, audit, comment, create, delete, drop, get, grant,
insert, lock, noaudit, rename, revoke, set, update, validate,
arraylen, allocate, cache, call, collection, context,
deallocate, enable, free, lob, object, savepoint, analyze,
explain, truncate,
記号"alter," は続行のために"MERGE"に代わりました。
行0、列0でエラーが発生しました。ファイル/home/neccomts/BT_SI_BUILD/Z/BSRoot/src/compilesrc/harada00
3.pc
PCC-F-02102, Cプリプロセッサ処理を実行中に致命エラーが発生しました。
*** エラー終了コード 1
お礼
ありがとうございます。 言われたとおりにしたらできました! つまり、 EXEC SQL SELECT A_DAY FROM DB1 WHERE B_NUM = (SELECT B_NUM +1 FROM DB1 WHERE A_DAY = '20040722'); で通ったのです!! ありがとうございましたーーー!! >それと最初の文の where b_num = ((select...))って、OKですか? は問題ないみたいです。