- 论坛徽章:
- 0
|
不知道楼主在表达什么什么意思?在proc中,一般和数据库交互的变量称为宿主变量,宿主变量应在EXEC SQL BEGIN DECLARE SECTION与EXEC SQL EDN DECLARE SECTION
之间声明,在数据库表中定义为VARCHAR2,VARCHAR,CHAR的字段,在PROC中可声明为CHAR,但长度应为它们在表中定义的长度加1,因为 PROC中CHAR型变量用\0做结尾。
简单的例子如下:
#include <stdio.h>
#include <stdlib.h>
EXEC SQL include sqlca.h;
int mian(int argc, char **argv)
{
EXEC SQL BEGIN DECLARE SECTION
char name[20 + 1];
EXEC SQL EDN DECLARE SECTION
memset ( name, 0x00, sizeof(name) );
EXEC SQL SELECT NAME INTO :name
FROM EMP;
if ( sqlca.sqlcode )
{
printf( "SELECT EMP ERR, SQLCODE = [%d]\n", sqlca.sqlcode );
return -1;
}
printf ( name = [%s]\n", name);
return 0;
} |
|