proc*c 程序设计(二) 指示变量

本文介绍了在Oracle数据库中,如何使用指示变量与宿主变量配合,实现输入和检查Null值以及处理截断问题。通过示例展示了在C程序中声明、引用和解释指示变量的方式。
摘要由CSDN通过智能技术生成

指示变量:
 与宿主变量相关联,用于监督和管理相关联的宿主变量。每一个宿主变量可以定义一个指示变量。
作用:
 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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值