procpro程序:通过在过程化语言中嵌入sql语句开发出的程序叫pro程序。
宿主语言:sql语句所嵌入的语言。
为什么要使用 proc /proc++:使c 或者c++ 这种高效的语言成为访问 oracle数据库的工具。
*连接数据库*/
exec sql connect:username identified by :password; [
exec sql connect:usernamepasswd; [
*查询*/exec sql select 字段 into :变量 from s_emp where id=1;
*断开数据库的连接*/
exec sql commit work release;
exec sql rollback work release;
1.编写c的源**
vi **c
2.编译链接。
gcc **c
3.执行。1.编写源**。
vi **pc
2.预编译。
proc **pc
会得到对应的c文件
3.编译链接
gcc **c -lclntsh
gcc **c -lorasql10 (windows)
gcc **c -lorasql10 -l 库的位置 4.执行。
vi #include <>
exec sql include sqlca;
int main()
如何把proc程序改成 proc++程序?
#include
using namespace std;
exec sql include sqlca;
int main()
proc的预编译选项。
oname .输出文件名。
默认是。c 的如果使用c++ cpp
iname 输入文件名
这个选项可以省略。
parse 解析方式默认是 full的c方式。
如果使用c++
需要使用。partia 严格的c++检查不推荐使用。
none c++推荐使用。
code **风格。
默认是 ansi_c c的方式。
c++ 需要使用 cpp
当code=cpp 时则必须把sql中使用的宿主变量必须放在申明区。
exec sql begin declare section;
/*变量定义*/
exec sql end declare section;
proc oname= parse=none code=cpp
g++ lclntsh
其它的预编译选项。
include 指定头文件的位置。
char_map 对字符串的预编译处理。
和plsql调用相关的。
sqlcheck=semantics
userid=用户名/密码。
变量既能在宿主语言中使用又能在sql语句中使用这种变量叫宿主变量。
proc 中的宿主变量和 c 变量没有任何区别。
proc++ 中 code=cpp 要求c++ 的宿主变量必须放在申明区。
exec sql begin declare section;
exec sql end declare section;
但在windows下开发 proc 程序也要求把宿主变量放在申明区。
为了好记加方便,以后所有的宿主变量都放在申明区。
宿主变量类型:
charchar var[n] 定长字符串
short
int long
floatdouble
varchar var[n] 变长字符串。
a.变长字符串1】
定义变量时要初始化
varchar var_name[25]=;
正常放入值。
exec sql select 字段 into :var_name from 表 where 条件;
访问时。var_
b.变长字符串2】
char_map=charz 默认的
定长 \0结尾空格补齐。
charf|varchar2 .定长空格补齐。
string变长 \0结尾。
宿主变量的注意事项?
1.推荐把所有宿主变量放在申明区。
2.可以使用指针但必须提前分配内存空间。
exec sql begin declare section;
char userpwd[30];
char *var_name=userpwd;
exec sql end declare section;
exec sql select first_name into :var_name from s_emp where id=1;
中可以直接使用ddl 但ddl 不能包含宿主变量。
exec sql drop table :var_name; [
exec sql drop table test;
指示变量:】当数据库中的字段值赋值给宿主变量时赋值的状态可以通过指示变量得到。
指示变量==0 赋值正常。
1 数据库中的字段值是null
0 截断赋值尽量避免。
指示变量只能是 short类型。
select first_name into :var_name indicator:indname from s_emp wher id=1;
select first_name into :var_name :indname from s_emp wher id=1;
c个人笔记总结
个人笔记总结。王。小。龙。good luck believe yourself just go 概述 一 c 语言语法基础 6 1.从c到c 的过渡。2.类和对象。3.操作符重载。c 个人笔记总结。王。小。龙。good luck believe yourself just go 概述 一 c 语言语...
教师个人业务笔记总结
教师专业发展和自我成长的核心因素。在教前 教中 教后对自我的行为进行审视和分析,能使自我的教学的有效性得到提高,能使自我的经验理论化,从而使自我的教学自我监控本事构成和提高。希望对大家有所帮助,欢迎阅读。教师业务笔记 1 xx年5月6日至12日,在区教育局的精心组织安排下,我们一行53人从xx出发奔...
名家会议营销讲解笔记
会议营销。一 定义 在封闭的会场里,进行一对多的销售。二 价值。1 变被动为主动,变客场为主场。2 变销售员的弱势销售为专家的优势销售。会议营销的模式本质上是一种专家销售的模式。一旦带上专家的头衔,销售就变得比较容易。会议营销一定要塑造 包装该专家。专家大于老板。3 降低销售员的工作难度,有利于团队...