C++ postgresql中的函数不工作时

C++ postgresql中的函数不工作时,c++,sql,postgresql,C++,Sql,Postgresql,我有三张桌子,tblAnalyse,tblSubAnalyse,tblResault tblAnalyse: id整数, 名称文本, 伊斯帕伦特布尔 tblSubAnalyse: id整数, 解析整数, 名称文本 tblResault: id整数, 解析整数, 亚纳赛德整数, accountId整数, 平静的日期 现在,当表tblAnalyse中的isParent为True时,我想将子分析插入结果,我编写了函数,但它不起作用 CREATE OR REPLACE FUNCTION year_201

我有三张桌子,tblAnalyse,tblSubAnalyse,tblResault

tblAnalyse: id整数, 名称文本, 伊斯帕伦特布尔

tblSubAnalyse: id整数, 解析整数, 名称文本

tblResault: id整数, 解析整数, 亚纳赛德整数, accountId整数, 平静的日期

现在,当表tblAnalyse中的isParent为True时,我想将子分析插入结果,我编写了函数,但它不起作用

CREATE OR REPLACE FUNCTION year_2014.insertsubanalysis
(
  accountid      integer,
  analyseid      integer,
  analysedate    date,
  requestnumber  integer
)
RETURNS record AS
$$
DECLARE 
i INTEGER;
AnalyseCount INTEGER;
SubAnalyseId INTEGER;
begin
i := 1;
SELECT public."SubAnalyze".id into SubAnalyseId FROM  public."SubAnalyze" where public."SubAnalyze".analyze_id = analyseid;
SELECT count(public."SubAnalyze".id) into AnalyseCount FROM  public."SubAnalyze" where public."SubAnalyze".analyze_id = analyseid;
WHILE(i <= AnalyseCount) loop
   INSERT INTO year_2014."Results"(account_id, analyze_id, "date", subanalyze_id, requestnumber)
VALUES
    (accountid, analyseid, 'analysedate', SubAnalyseId, requestnumber);
END LOOP;
RETURN 1; 
end
$$
LANGUAGE 'plpgsql'
VOLATILE
CALLED ON NULL INPUT
SECURITY INVOKER
COST 100;

ALTER FUNCTION year_2014.insertsubanalysis(accountid integer, analyseid integer, analysedate date, requestnumber integer)
OWNER TO postgres;
创建或替换功能年\u 2014.insertsubanalysis
(
accountid整数,
解析整数,
平静的日期,
请求数整数
)
将记录返回为
$$
声明
i整数;
分析计数整数;
子分析整数;
开始
i:=1;
选择public.“SubAnalyze”.id从public.“SubAnalyze”插入SubAnalyseId,其中public.“SubAnalyze”.analyze\u id=analyseid;
将计数(public.“SubAnalyze”.id)从public.“SubAnalyze”中选择为AnalyseCount,其中public.“SubAnalyze”.analyze\u id=analyseid;

而(i当我运行函数时:

SQL错误:错误:返回“记录”的函数需要列定义列表 第1行:从2014年起选择*插入子分析(2014年12月7日、14日、12日)。。。 ^

“它不起作用”。它到底是如何起作用的?描述发生了什么或没有发生什么。显示任何错误消息的确切文本。请编辑您的问题以添加此信息,不要将其放在注释中。完成后,请在此处注释。在操作过程中,显示您的PostgreSQL版本-
选择版本()