Oracle中如何使用非滚动游标
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章给大家介绍Oracle中如何使用非滚动游标,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。/* 功能:演示了Oracle非滚动游标操作 定义游标
千家信息网最后更新 2026年11月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安全错误
数据库的锁怎样保障安全
苏州找大状互联网科技有限公司
互联网科技公司的优势
互联网科技会
关于新基建和互联网科技
北京互联网科技公司
互联网科技金融公司
猪兼强互联网科技
易通互联网络科技有限公司
米客互联网科技
互联网科技博客
深圳卡尔迅互联网科技有限公司怎么样
中正互联网科技招聘
宁波青枫互联网科技有限公司
华服互联网科技官网
贵州叶脉互联网科技有限公司所属行业
朱啸虎曾投资哪些互联网科技企业
明优互联网科技有限公司
每天都有哪些好的互联网科技
中国科技和美国互联网
山东亿川互联网科技有限责任公司
互联网科技行业发展
上海挚品互联网科技
世界互联网领先科技成果
互联网科技商业
洛阳昕诺飞互联网科技有限公司
2021互联网科技公司排名
容联科技互联网电商
版纳互联网科技选哪家
众联互联网络科技
互联网的黑科技实验室