开发者社区> 问答> 正文

pgsql存储过程插入数据出错

问题的过程其实就是我在insert 数据的时候,使用了以下的写法,单独放在PPEM的SQL窗口是可以执行成功的,但是如果放到package procedure中就会在调用的时候报错,报错信息如下:我确定select是有结果的。

[size=font-size: 11pt,11pt]ERROR:  query has no destination for result data
[size=font-size: 11pt,11pt]HINT:  If you want to discard the results of a SELECT, use PERFORM instead.
[size=font-size: 11pt,11pt]CONTEXT:  edb-spl function inline_code_block line 6 at SQL statement
[size=font-size: 11pt,11pt]********** Error **********
[size=font-size: 11pt,11pt]
[size=font-size: 11pt,11pt]ERROR: query has no destination for result data
[size=font-size: 11pt,11pt]SQL state: 42601
[size=font-size: 11pt,11pt]Hint: If you want to discard the results of a SELECT, use PERFORM instead.
[size=font-size: 11pt,11pt]Context: edb-spl function inline_code_block line 6 at SQL statement
[size=font-size: 11pt,11pt]

有人能给解释以下,sql如下:
insert into t_prem_arap_split
      (LIST_ID,
       RELATED_LIST_ID,
       ORGAN_ID,
       POLICY_ID,
       ITEM_ID,
       PRODUCT_ID,
       FEE_AMOUNT,
       CHARGE_TYPE,
       POLICY_YEAR,
       FEE_TYPE,
       PAY_MODE,
       MONEY_ID,
       FINISH_TIME,
       CHANGE_ID,
       DERIVATION,
       ACCOUNTING_DATE,
       TAX_CODE,
       CLAIM_TYPE,
       OFFSET_STATUS,
       FEE_STATUS,
       ENTITY_FUND,
       OFFSET_TIME,
       WITHDRAW_TYPE,
       PREMIUM_PURPOSE,
       DUE_TIME,
       ACCOUNT_TYPE,
       ACCOUNT_GL_DATE,
       JE_CREATOR_ID,
       JE_POSTING_ID,
       POSTED,
       NEED_POSTED,
       JE_POSTING_ID_OLD,
       NEED_POSTED_OLD,
       POSTED_OLD,
       policy_type,
       AGENT_ID,
       JE_POSTING_ID_US,
       NEED_POSTED_US,
       POSTED_US,
       JE_POSTING_ID_NEW,
       NEED_POSTED_NEW,
       POSTED_NEW)
      select s_prem_arap__list_id.nextval,
             tpa.list_id,
             ORGAN_ID,
             POLICY_ID,
             ITEM_ID,
             PRODUCT_ID,
                0,
             CHARGE_TYPE,
             POLICY_YEAR,
            tatf.fee_type,
             PAY_MODE,
             MONEY_ID,
             FINISH_TIME,
             CHANGE_ID,
             DERIVATION,
             ACCOUNTING_DATE,
             TAX_CODE,
             CLAIM_TYPE,
             OFFSET_STATUS,
             FEE_STATUS,
             ENTITY_FUND,
             OFFSET_TIME,
             WITHDRAW_TYPE,
             tpa.prem_purpose,
             DUE_TIME,
             ACCOUNT_TYPE,
             ACCOUNT_GL_DATE,
             JE_CREATOR_ID,
             JE_POSTING_ID,
             'N',
             'Y',
             JE_POSTING_ID_OLD,
             'Y',
             'N',
             policy_type,
             AGENT_ID,
             JE_POSTING_ID_US,
             'N',
             'Y',
             JE_POSTING_ID_NEW,
             'N',
             'Y'
        from t_prem_arap tpa,T_ADD_TAX_FEE_TYPE_CONFIG tat,T_ADD_TAX_FEE_TYPE_CONFIG tatf
       where tpa.fee_status in (1,4)
       and tpa.accounting_date is not null
       and tpa.posted='N'
       and tpa.fee_type = tat.fee_type
       and tatf.parent_id=tat.list_id
       and tat.fee_table = '4'
       and not exists (select 1 from t_prem_arap_split tpas where tpas.related_list_id=tpa.list_id);


[size=font-size: 11pt,11pt]

展开
收起
喜竹 2016-06-04 17:12:35 5831 0
0 条回答
写回答
取消 提交回答
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
PolarDB NL2SQL: 帮助您写出准确、优化的SQL 立即下载
SQL Sever迁移PG经验 立即下载
PostgresChina2018_赖思超_PostgreSQL10_hash索引的WAL日志修改版final 立即下载