指示变量:
与宿主变量相关联,用于监督和管理相关联的宿主变量。每一个宿主变量可以定义一个指示变量。
作用:
1.向数据库表列输入Null值。
2.检查数据库所取值是否为Null值,或者发生截断问题。
指示变量值含义:
输入宿主变量:
-1:oracle把NULL值输入数据库表列,不考虑与该指示变量相关的宿主变量。
>=0:把该指示变量相关的宿主变量放入到数据库表列中
输出宿主变量:
-1:数据库表列为NULL,相关宿主变量值为不确定。
0:数据库表列值原封不动赋给相关宿主变量。
>0: 数据库表列值截断后赋给相关宿主变量,宿主变量返回该列原始长度 sqlca.sqlcode置为0。
指示变量的说明:
EXEC SQL BEGIN DECLARE SECTION;
char name[10];
short ind_name; /*name 的指示变量*/
EXEC SQL end DECLARE SECTION;
指示变量的引用:
--------输出宿主变量:
EXEC SQL SELECT NAME
INTO:name:ind_name
FROM EMPNO
WHERE NAME="somebody"
if(ind_name == -1)
printf("name is null");
增加可读性 可以加上关键字INDICATOR
EXEC SQL SELECT NAME
INTO:name INDICATOR:ind_name
FROM EMPNO
WHERE NAME