1

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 としてのバルク マージの同様の例と構文を教えてください。

4

1 に答える 1