GET DESCRIPTOR — 从一个 SQL 描述符区域得到信息
GET DESCRIPTOR descriptor_name
:cvariable
= descriptor_header_item
[, ... ]
GET DESCRIPTOR descriptor_name
VALUE column_number
:cvariable
= descriptor_item
[, ... ]
GET DESCRIPTOR
从一个 SQL 描述符区域检索关于一个查询结果集的信息并且把它存储在主变量中。在使用这个命令把信息传输到主语言变量之前,一个描述符区域通常是用FETCH
或SELECT
填充的。
这个命令有两种形式:第一种形式检索描述符的“头部”项,它适用于全面地查看结果集。一种例子是行计数。第二种形式要求列号作为附加参数,它检索有关一个特定列的信息。其例子是查看列名和实际列值。
descriptor_name
一个描述符名称。
descriptor_header_item
一个标识要检索哪一个头部信息项的记号。当前只支持用于得到结果集中列数的COUNT
。
column_number
要检索其信息的列号。计数从 1 开始。
descriptor_item
一个标识要检索哪一个有关一列信息的项的记号。被支持的项可见第 35.7.1 节。
cvariable
接收从描述符区域检索到的数据的主变量。
检索一个结果集中列数的例子:
EXEC SQL GET DESCRIPTOR d :d_count = COUNT;
检索第一列中数据长度的例子:
EXEC SQL GET DESCRIPTOR d VALUE 1 :d_returned_octet_length = RETURNED_OCTET_LENGTH;
把第二列的数据体检索成一个字符串的例子:
EXEC SQL GET DESCRIPTOR d VALUE 2 :d_data = DATA;
这里是执行SELECT current_database();
并且显示列数、列数据长度和列数据的完整过程的例子:
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;
EXEC SQL GET DESCRIPTOR d :d_count = COUNT;
printf("d_count = %dn", d_count);
EXEC SQL GET DESCRIPTOR d VALUE 1 :d_returned_octet_length = RETURNED_OCTET_LENGTH;
printf("d_returned_octet_length = %dn", d_returned_octet_length);
EXEC SQL GET DESCRIPTOR d VALUE 1 :d_data = DATA;
printf("d_data = %sn", d_data);
EXEC SQL CLOSE cur;
EXEC SQL COMMIT;
EXEC SQL DEALLOCATE DESCRIPTOR d;
EXEC SQL DISCONNECT ALL;
return 0;
}
当该例子被执行时,结果看起来是:
d_count = 1
d_returned_octet_length = 6
d_data = testdb
SQL 标准中说明了GET DESCRIPTOR
。
Style alignItems 属性 Style 对象实例居中对齐灵活的 div 元素的各项:document.getElementById("myDIV").style.alignItems="ce...
Style borderImageRepeat 属性 Style 对象实例规定如何重复图像边框:document.getElementById(myDIV).style.borderImageRepeat=...
Style flexBasis 属性 Style 对象实例设置一个灵活项目的初始长度为 200 像素:document.getElementById(myBlueDiv).style.flexB...
描述该语句用来修改已存在的表的结构,比如:修改表及表属性、新增列、修改列及属性、删除列等。格式alter_table_stmt:ALTER TAB...
COUNT函数用于查询expr的行数。语法COUNT({ * | [ DISTINCT | UNIQUE | ALL ] expr }) [ OVER (analytic_clause) ]作为分析函数...
注册观察者以监视指定的数据。IDataAbilityObserver 提供了一个回调方法 onChange()。在实现此接口并重写回调方法之后,可以调...
页面配置每一个小程序页面也可以使用同名.json文件来对本页面的窗口表现进行配置,页面中配置项会覆盖app.json的window中相同的...
开发第三方自定义组件小程序从基础库版本2.2.1开始支持使用 npm 安装第三方包,因此也支持开发和使用第三方自定义组件包。关于 n...