如 DECLARE 语句的程序中所述,要创建一个 Insert 游标,应将顺序游标与 INSERT 语句的限制格式相关联。INSERT 语句必须包括 VALUES 子句;它不可以包含嵌入的 SELECT 语句。
EXEC SQL declare ins_cur cursor for insert into stock values (:stock_no,:manu_code,:descr,:u_price,:unit,:u_desc);
Insert 游标简单地插入数据行;它不可以用于取得数据。当打开 Insert 游标时,会在内存中创建一个缓冲区。该缓冲区在程序执行 PUT 语句时接收数据行。只有在缓冲区满的时候才会将这些行写入磁盘。您可以在缓冲区还未满时使用 CLOSE 、FLUSH 或 COMMIT WORK 语句刷新缓冲区(即将它的内容写入数据库)。该主题会在 CLOSE 、FLUSH 和 PUT 语句下做进一步讨论。
您必须在程序结束之前关闭 Insert 游标,从而将任何已缓冲的行插入数据库。如果没有正确关闭游标,则会丢失数据。有关对 INSERT 语法和使用的完整讨论,请参阅 INSERT 语句。