pro*c滚动游标的使用问题,请高手回答,谢谢! 有这样用的吗?? scroll cursor???下面的语句可以实现你想要的功能吧exec sql whenever notfound do break;while(1){ exec sql fetch ....;} 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 EXEC SQL DECLARE auths_cursor CURSOR FOR SELECT * FROM auths WHERE author_code=:author_code FOR UPDATE OF salary; /* 打开游标auths_cursor */ EXEC SQL OPEN auths_cursor; /* 未检索到数据时退出循环 */ EXEC SQL WHENEVER NOT FOUND DO break; while(1) { /* 推进游标 */ EXEC SQL FETCH auths_cursor INTO :auths_record:auths_record_ind; printf("\n作家姓名:\t%s\n",auths_record.name); printf("作家工资:\t%8.2f\n",auths_record.salary); printf("\n是否要修改作家工资(Y/N):"); scanf("%c",&modify); fflush(stdin); if((modify == 'Y') || (modify == 'y')) { printf("\n输入工资:"); scanf("%f",&salary); fflush(stdin); /* 更新作家工资 */ EXEC SQL UPDATE auths SET salary=:salary WHERE CURRENT OF auths_cursor; } } /* 关闭游标auths_cursor */ EXEC SQL CLOSE auths_cursor; oracle与shell 关于小型机心跳线的问题 oralce + lifekeeper 安装问题。 关于sum函数的效率问题? oracle8i問題? ORA-22866 默认字符集具有不同的宽度 请有经验DBA提供日常维护的脚本,包括定时备份、查看表结构、等等 2005年,表插入时间出错? 为什么我的oracle8i在win2000server下装不了呢----->>在线求助 请教一个关于程序用户的问题 非归档方式数据恢复问题,在线等候 谁做过oracle的advance queue啊???
SELECT * FROM auths
WHERE author_code=:author_code
FOR UPDATE OF salary;
/* 打开游标auths_cursor */
EXEC SQL OPEN auths_cursor;
/* 未检索到数据时退出循环 */
EXEC SQL WHENEVER NOT FOUND DO break;
while(1)
{
/* 推进游标 */
EXEC SQL FETCH auths_cursor
INTO :auths_record:auths_record_ind;
printf("\n作家姓名:\t%s\n",auths_record.name);
printf("作家工资:\t%8.2f\n",auths_record.salary);
printf("\n是否要修改作家工资(Y/N):");
scanf("%c",&modify);
fflush(stdin);
if((modify == 'Y') || (modify == 'y'))
{
printf("\n输入工资:");
scanf("%f",&salary);
fflush(stdin);
/* 更新作家工资 */
EXEC SQL UPDATE auths SET salary=:salary
WHERE CURRENT OF auths_cursor;
}
}
/* 关闭游标auths_cursor */
EXEC SQL CLOSE auths_cursor;