close

SELECT INTOFETCH INTO的差別

 

以下為一段使用SELECT的程式碼


 

char   emp_name[50][20];
int      emp_number[50];
float   salary[50];


EXEC SQL SELECT ENAME, EMPNO, SAL
                 INTO :emp_name, :emp_number, :salary
FROM EMP
WHERE SAL > 1000;


此程式會抓取符合條件的前50個ROW

若再次執行橘底的程式碼,會再抓取一次前50個ROW

 

再來一段FETCH的程式碼應該就非常好懂了


 

int emp_number[50];
float salary[50];
EXEC SQL DECLARE emp_cursor CURSOR FOR //一定要宣告CURSOR,才能知道每次執行前抓到哪一個ROW
SELECT empno, sal FROM emp;
EXEC SQL OPEN emp_cursor; //開啟CURSOR
EXEC SQL WHENEVER NOT FOUND do break;

EXEC SQL FETCH emp_cursor
INTO :emp_number, :salary;

此程式亦會抓取符合條件的前50個ROW

但若再次執行橘底的程式碼,會從第51筆ROW開始,再多抓取50個ROW


 

arrow
arrow
    文章標籤
    sql C
    全站熱搜
    創作者介紹
    創作者 Jadson 的頭像
    Jadson

    我是傑迪森,嘗試做自己和他人的人生導師

    Jadson 發表在 痞客邦 留言(0) 人氣()