W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
GET DESCRIPTOR — 從一個 SQL 描述符區(qū)域得到信息
GET DESCRIPTOR descriptor_name
:cvariable
= descriptor_header_item
[, ... ]
GET DESCRIPTOR descriptor_name
VALUE column_number
:cvariable
= descriptor_item
[, ... ]
GET DESCRIPTOR
從一個 SQL 描述符區(qū)域檢索關(guān)于一個查詢結(jié)果集的信息并且把它存儲在主變量中。在使用這個命令把信息傳輸?shù)街髡Z言變量之前,一個描述符區(qū)域通常是用FETCH
或SELECT
填充的。
這個命令有兩種形式:第一種形式檢索描述符的“頭部”項,它適用于全面地查看結(jié)果集。一種例子是行計數(shù)。第二種形式要求列號作為附加參數(shù),它檢索有關(guān)一個特定列的信息。其例子是查看列名和實際列值。
descriptor_name
一個描述符名稱。
descriptor_header_item
一個標識要檢索哪一個頭部信息項的記號。當前只支持用于得到結(jié)果集中列數(shù)的COUNT
。
column_number
要檢索其信息的列號。計數(shù)從 1 開始。
descriptor_item
一個標識要檢索哪一個有關(guān)一列信息的項的記號。被支持的項可見第 35.7.1 節(jié)。
cvariable
接收從描述符區(qū)域檢索到的數(shù)據(jù)的主變量。
檢索一個結(jié)果集中列數(shù)的例子:
EXEC SQL GET DESCRIPTOR d :d_count = COUNT;
檢索第一列中數(shù)據(jù)長度的例子:
EXEC SQL GET DESCRIPTOR d VALUE 1 :d_returned_octet_length = RETURNED_OCTET_LENGTH;
把第二列的數(shù)據(jù)體檢索成一個字符串的例子:
EXEC SQL GET DESCRIPTOR d VALUE 2 :d_data = DATA;
這里是執(zhí)行SELECT current_database();
并且顯示列數(shù)、列數(shù)據(jù)長度和列數(shù)據(jù)的完整過程的例子:
int
main(void)
{
EXEC SQL BEGIN DECLARE SECTION;
int d_count;
char d_data[1024];
int d_returned_octet_length;
EXEC SQL END DECLARE SECTION;
EXEC SQL CONNECT TO testdb AS con1 USER testuser;
EXEC SQL SELECT pg_catalog.set_config('search_path', '', false); EXEC SQL COMMIT;
EXEC SQL ALLOCATE DESCRIPTOR d;
/* 描述、打開一個游標,并且分配一個描述符給該游標 */
EXEC SQL DECLARE cur CURSOR FOR SELECT current_database();
EXEC SQL OPEN cur;
EXEC SQL FETCH NEXT FROM cur INTO SQL DESCRIPTOR d;
/* 得到全部列的數(shù)量 */
EXEC SQL GET DESCRIPTOR d :d_count = COUNT;
printf("d_count = %d\n", d_count);
/* 得到一個返回列的長度 */
EXEC SQL GET DESCRIPTOR d VALUE 1 :d_returned_octet_length = RETURNED_OCTET_LENGTH;
printf("d_returned_octet_length = %d\n", d_returned_octet_length);
/* 將返回的列取出成一個字符串 */
EXEC SQL GET DESCRIPTOR d VALUE 1 :d_data = DATA;
printf("d_data = %s\n", d_data);
/* 關(guān)閉 */
EXEC SQL CLOSE cur;
EXEC SQL COMMIT;
EXEC SQL DEALLOCATE DESCRIPTOR d;
EXEC SQL DISCONNECT ALL;
return 0;
}
當該例子被執(zhí)行時,結(jié)果看起來是:
d_count = 1
d_returned_octet_length = 6
d_data = testdb
SQL 標準中說明了GET DESCRIPTOR
。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: