vc++客户端 (ADO连接) 我想在表am_subsys中查询所有记录并可得到各字段的值。存储过程如下。
am_subsys结构:
CREATE TABLE am_subsys
(
id int4 NOT NULL DEFAULT nextval('am_subsys_id_seq'::regclass),
typeid int4 NOT NULL,
name varchar(100) NOT NULL,
description varchar(100),
CONSTRAINT pk_am_subsys PRIMARY KEY (id)
)
执行SQL查询
CREATE OR REPLACE FUNCTION ua_func_query_subsys() RETURNS SETOF am_subsys AS $$
SELECT * FROM am_subsys ORDER BY am_subsys.id;
$$ LANGUAGE SQL;
执行:Res.Open( "SELECT ua_func_query_subsys()" )
但是得到的字段只有"ua_func_query_subsys"
ADO中得到的字段值是(3,1,"www","www") 。但是我想得到每个字段的值,而不是字段拼接出来的一个字符串。
我按照如下方式可以得到:
Res.Open( "select name(ua_func_query_subsys()), typeid(ua_func_query_subsys()))
但是函数ua_func_query_subsys()是不是执行了两遍啊,是否还有其他方式只执行一次查询而可以得到各个字段的值。
谢谢!
am_subsys结构:
CREATE TABLE am_subsys
(
id int4 NOT NULL DEFAULT nextval('am_subsys_id_seq'::regclass),
typeid int4 NOT NULL,
name varchar(100) NOT NULL,
description varchar(100),
CONSTRAINT pk_am_subsys PRIMARY KEY (id)
)
执行SQL查询
CREATE OR REPLACE FUNCTION ua_func_query_subsys() RETURNS SETOF am_subsys AS $$
SELECT * FROM am_subsys ORDER BY am_subsys.id;
$$ LANGUAGE SQL;
执行:Res.Open( "SELECT ua_func_query_subsys()" )
但是得到的字段只有"ua_func_query_subsys"
ADO中得到的字段值是(3,1,"www","www") 。但是我想得到每个字段的值,而不是字段拼接出来的一个字符串。
我按照如下方式可以得到:
Res.Open( "select name(ua_func_query_subsys()), typeid(ua_func_query_subsys()))
但是函数ua_func_query_subsys()是不是执行了两遍啊,是否还有其他方式只执行一次查询而可以得到各个字段的值。
谢谢!
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货