SET DEFERRED_PREPARE 的示例

下列代码段展示带有 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);