下列代码段展示带有 PREPARE、EXECUTE 语句块的 SET DEFERRED_PREPARE 语句。在此情况下,数据库服务器立即执行 PREPARE 和
EXECUTE 语句:
EXEC SQL BEGIN DECLARE SECTION;
int a;
EXEC SQL END DECLARE SECTION;
EXEC SQL allocate descriptor 'desc';
EXEC SQL create database test;
EXEC SQL create table x (a int);
/* 启用 Deferred-Prepare 特性 */
EXEC SQL set deferred_prepare enabled;
/* 准备 INSERT 语句 */
EXEC SQL prepare ins_stmt from 'insert into x values(?)';
a = 2;
EXEC SQL EXECUTE ins_stmt using :a;
if (SQLCODE)
printf("EXECUTE : SQLCODE is %d\n", SQLCODE);