Oracle中如何使用非滚动游标
发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,这篇文章给大家介绍Oracle中如何使用非滚动游标,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。/* 功能:演示了Oracle非滚动游标操作 定义游标
千家信息网最后更新 2025年02月01日Oracle中如何使用非滚动游标
这篇文章给大家介绍Oracle中如何使用非滚动游标,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
/* 功能:演示了Oracle非滚动游标操作 定义游标时注意事项: 1. DECLARE CURSOR语句必须是使用游标的第一条语句 2. 游标名称是一个标识符,而不是宿主变量,其长度是可以任意的,但只有前31个字符有效 3. 游标所对应的SELECT语句不能包含INTO子句 4. 游标语句(DECLARE,OPEN,FETCH,CLOSE)必须在同一个预编译单元内*/#include#include #include #include #pragma comment(lib, "orasql10.lib")int connect();void cursor();void sql_error();void main(){ EXEC SQL WHENEVER SQLERROR DO sql_error(); // 安装错误处理句柄 if(connect() == 0) { cursor(); EXEC SQL COMMIT RELEASE; } else printf("连接失败\n");}int connect() // connect to oracle database{ char username[10], password[10], server[10]; strcpy(username, "scott"); strcpy(password, "zzb888888"); strcpy(server, "orcl"); EXEC SQL CONNECT :username IDENTIFIED BY :password USING :server; if(sqlca.sqlcode == 0) return 0; else return sqlca.sqlcode;}void sql_error() // print error infomation{ printf("%.*s\n", sqlca.sqlerrm.sqlerrml, sqlca.sqlerrm.sqlerrmc);}void cursor() // 游标操作{ int dno, eno; // 定义宿主变量 char name[10]; float salary; printf("输入部门号:"); scanf("%d", &dno); EXEC SQL DECLARE emp_cursor CURSOR FOR Select empno, ename, sal from emp where deptno=:dno; // 定义游标 EXEC SQL OPEN emp_cursor; // 打开游标 EXEC SQL WHENEVER NOT FOUND DO break; // 游标数据提取完毕后退出循环 for(; { EXEC SQL FETCH emp_cursor into :eno, :name, :salary; // 循环提取数据 printf("name = %s(%d), salary = %.2f\n", name, strlen(name), salary); } EXEC SQL CLOSE emp_cursor; // 关闭游标 printf("sqlca.sqlerrd[2] = %d\n", sqlca.sqlerrd[2]); // sqlca.sqlerrd[2]存放着Select语句作用的行数}
运行结果:
输入部门号:20
name = SMITH (9), salary = 800.00
name = JONES (9), salary = 2975.00
name = SCOTT (9), salary = 3000.00
name = ADAMS (9), salary = 1100.00
name = FORD (9), salary = 3000.00
sqlca.sqlerrd[2] = 5
关于Oracle中如何使用非滚动游标就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
游标
语句
内容
变量
宿主
数据
更多
部门
帮助
循环
输入
不错
有效
事项
作用
兴趣
功能
单元
句柄
只有
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
诺顿网络安全 知乎
江西铭尚网络技术有限公司
网络安全法合规案例
软件开发阶段主要采用的工具
分离数据库时不小心点了删除连接
网络技术研究室公安部
缓存一般放什么数据库
安全网络安全
如何测试服务器的耗电量的软件
网络安全宣传小报图片
svn服务器安全配置
数据库三级分类题库
个人网络安全平台
无锡电商软件开发条件
tcp服务器和客户端
xp系统服务器管理在哪里
如何防范家庭网络安全
新闻系统中发布的数据库
流水施工和网络技术的作用
云赞软件开发怎么样
河南创航网络技术有限公司
中国知网的数据库
信息安全的服务器迁移
什么叫做服务器
计算机网络技术课本笔记
怎么停掉数据库
山东工控软件开发哪家实惠
武汉网络安全实验基地
网络安全网站制作蛋糕
小型服务器硬件配置