使用 FLUSH 语句来将 PUT 语句缓冲的行强制写到数据库。
随同 GBase 8s ESQL/C 使用此语句,这是对 SQL 的 ANSI/ISO 标准的扩展。
PUT 语句添加行到缓冲区,在缓冲区变满时,将缓冲区的内容写到数据库。在缓冲区未满时,使用 FLUSH 语句来强制插入。
FLUSH icurs
EXEC SQL BEGIN WORK; EXEC SQL OPEN new_custs; while(SQLCODE == 0) { next_cust(); if(the_company == NULL) break; EXEC SQL PUT new_custs; } if(SQLCODE == 0) /* if no problem with PUT */ { EXEC SQL FLUSH new_custs; /* write any rows left */ if(SQLCODE == 0) /* if no problem with FLUSH */ EXEC SQL COMMIT WORK; /* commit changes */ } else EXEC SQL ROLLBACK WORK; /* else undo changes */此示例中的代码重复地调用 next_cust。在返回非空数据时,PUT 语句将返回值发送到行缓冲区。在缓冲区填满时,自动地将缓冲区包含的那些行发送到数据库服务器。在 next_cust 不再有数据返回时,循环正常结束。