日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

[Oracle]使用非滚动游标

發布時間:2023/12/9 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [Oracle]使用非滚动游标 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
源碼:xx.pc /*功能:演示了Oracle非滾動游標操作定義游標時注意事項:1. DECLARE CURSOR語句必須是使用游標的第一條語句2. 游標名稱是一個標識符,而不是宿主變量,其長度是可以任意的,但只有前31個字符有效3. 游標所對應的SELECT語句不能包含INTO子句4. 游標語句(DECLARE,OPEN,FETCH,CLOSE)必須在同一個預編譯單元內 */ #include <stdio.h> #include <string.h> #include <stdlib.h>#include <sqlca.h> #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;}elseprintf("連接失敗\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;elsereturn 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]使用非滚动游标的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。