VARCHAR 变量

• Pro*C/C++预编译器解析VARCHAR 类型成的一个结构
VARCHAR username[20];
转换后的结构如下:
struct
{
unsigned short len;
unsigned char arr[20];
} username;
使用VARCHAR 类型变量优点之一是通过FETCH 和SELECT 语句从Oracle 数据库中选择数据到宿主变量时,Oracle 会把数据长度记录到VARCHAR 变量的len 成员中,用户可以方便的得到数据长度,并给数据末尾置‘/0’结束符:
username.arr[username.len]=‘/0’;
• 空值处理
Ø 如果Oracle 返回空值到一个VARCHAR 宿主变量,Oracle 不改变该宿主变量原arr成员存储内容,也不改变len 成员的长度
Ø 如果设置VARCHAR 类型的宿主变量len 成员值为0,在通过其对目标数据表对应列进行INSERT 和UPDATE 时,在没有非空约束情况下,Oracle 更新对应数据库表该列数据为NULL
• 定义VARCHAR 变量必须指定其长度,类似“VARCHAR s[]”的使用是不合法的。
• 可以在一行中定义多个VARCHAR 变量:
Ø VARCHAR a[20],b[25];
• VARCHAR 变量长度可以是宏,也可以是任何在预编译过程中能识别的表达式。例如:
Ø #define MAX_LEN
Ø ...
Ø VARCHAR name[MAX_LEN];
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值