千家信息网

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

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,今天就跟大家聊聊有关Pro*C中怎样嵌入pl/sql块,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。/* 包含C头文件 */#include
千家信息网最后更新 2026年11月02日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安全错误 数据库的锁怎样保障安全 互联网科技产业 互联网金融监管科技数据 互联网品科技 易通互联网络科技有限公司 国外互联网科技网站 中正互联网科技招聘 哈尔滨秒房互联网科技有限公司 广州慧亚互联网科技怎么样 字节跳动和互联网科技 智腾互联网科技有限公司 赶超互联网科技 微信多开 互联网与医疗科技 中国科技创新与世界互联网大会 企晟互联网信息科技有限公司 佛山市拉法互联网科技有限公司 明优互联网科技有限公司 广州百诚互联网科技有限公司官网 互联网科技资金流入 张召忠谈中国互联网科技 半导体是互联网高科技吗 互联网科技公司起名 互联网科技公司税收优惠 金融科技还是互联网 互联网最新的科技有限公司 中国 科技 互联网 广州慧亚互联网科技怎么样 宁夏众和广鑫互联网科技有限公司 银川新华互联网科技学校联系电话 亚光科技低轨卫星互联网 广东猫王互联网科技有限公司电话
0