C/C++ で Oracle Pro*C を使用すると、ホスト配列を使用して、次の例のように EMP テーブルへの一括挿入を管理できます。
struct
{
char ename[3][10];
int eno[3];
} emp_rec1;
struct
{
int dno[3];
} emp_rec2;
...
strcpy(emp_rec1.ename[0], "e1");
strcpy(emp_rec1.ename[1], "e2");
strcpy(emp_rec1.ename[2], "e3");
emp_rec1.eno[0] = 1964; emp_rec2.dno[0] = 5;
emp_rec1.eno[1] = 1974; emp_rec2.dno[1] = 5;
emp_rec1.eno[2] = 1985; emp_rec2.dno[2] = 5;
EXEC SQL INSERT INTO emp (ename, eno, dno)
VALUES (:emp_rec1, :emp_rec2);
EXEC SQL MERGE
最初に (ename と eno が存在する場合) dno が更新された状態で更新を試みるためにMERGE を使用できますか? 、g、最初に選択を行い、レコードが存在するか、更新を試み、そうでない場合は挿入を適用します。Pro*C の組み込み SQL としてのバルク マージの同様の例と構文を教えてください。