千家信息网

Pro*C中怎样嵌入pl/sql块

发表于:2024-11-30 作者:千家信息网编辑
千家信息网最后更新 2024年11月30日,今天就跟大家聊聊有关Pro*C中怎样嵌入pl/sql块,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。/* 包含C头文件 */#include
千家信息网最后更新 2024年11月30日Pro*C中怎样嵌入pl/sql块

今天就跟大家聊聊有关Pro*C中怎样嵌入pl/sql块,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

/* 包含C头文件 */
#include
#include
#include
/* 包含SQLCA头文件 */
EXEC SQL INCLUDE sqlca;
EXEC SQL INCLUDE sqlda;

int main()
{
EXEC SQL BEGIN DECLARE SECTION;
int money;
char answerbuff[200];
int flag;

char username[10],password[10],server[10];
EXEC SQL END DECLARE SECTION;

/*
* 定义输入宿主变量:接收用户名、口令和网络服务名
*
*/
strcpy(username,"data_center");
strcpy(password,"data_center");
strcpy(server,"oradf1"); /*这里填写的是数据库的SID*/

/* 连接到数据库 */
EXEC SQL CONNECT :username IDENTIFIED BY :password USING :server;
if (sqlca.sqlcode==0)
printf("连接成功!/n");
else
/* 显示连接错误消息 */
printf("%.*s/n", sqlca.sqlerrm.sqlerrml,
sqlca.sqlerrm.sqlerrmc);
/*初始化*/
money=0;
flag=0; /*用天判断是否找到数据*/

/*执行plsql块*/
EXEC SQL EXECUTE
BEGIN
SELECT salary INTO :money FROM plsqltest WHERE name='ht';
:flag:=1;
EXCEPTION
WHEN NO_DATA_FOUND THEN
:answerbuff:='数据没有找到';
END;
END-EXEC;

/*输出结果*/
if (flag==0)
printf("%s/n",answerbuff);
else
printf("总工资是:%d/n",money);

}

=================================================

编译方法:
1. 如果在PC源程序中内嵌了PL/SQL块, SQLCHECK应该SEMANTICS或是 FULL
2. 当SQLCHECK的值是SEMANTICS或是 FULL时,必须设置USERID
proc PARSE=NONE include=-I/opt/oracle/product/10.2.0/precomp/public include=-I/opt/oracle/product/10.2.0/rdbms/public sqlcheck=fullUSERID=data_center/data_center@oradf1 iname=test.pc oname=test.c

gcc的一些选项,不加这些,有时会报错。
gcc -L/opt/oracle/product/10.2.0/lib -lclntsh -ldl -lm -lnsl -o test test.c

===========================================

创建表:
create table PLSQLTEST
(
salary NUMBER,
NAME VARCHAR2(10)
);

insert into plsqltest (salary, NAME)
values (1000, 'xym');
insert into plsqltest (salary, NAME)
values (2000, 'ht');
commit;

看完上述内容,你们对Pro*C中怎样嵌入pl/sql块有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。

数据 内容 数据库 文件 成功 变量 口令 宿主 工资 方法 更多 消息 源程序 用户 用户名 知识 篇文章 结果 网络 网络服务 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 青海服务器托管2000元云空间 黑龙江特种网络技术产品介绍 互联网科技公司年终总结 乱世王者服务器对您 杭州燃趣网络技术有限公司 无锡工程网络技术欢迎咨询 网络技术补考题 把数据库数据转化成树结构 中国核心期刊数据库源期刊 天津采购管理软件开发 青网络安全讲稿 金色时代服务器 蚌埠政府软件开发公司 联机网络电话软件开发公司 网络安全法里规定哪些核心制度 天津网络服务器云服务器 普陀区银联数据库价格查询 数据库设计需要的技术 不适合现在软件开发的模型 个人信息网络安全法保护 乱世王者服务器对您 酒店管理配置服务器 崇明区管理网络技术服务报价 安全守护服务器繁忙是什么鬼 珠海格力校招软件开发待遇 育碧的服务器为什么卡 网络安全日门票 公安局测网络安全 高中网络安全教育课件 福州五棵松网络技术
0