postgresql - PostgreSQL 错误:预期没有结果时返回了结果
问题描述
我在 PostgreSQL 中创建了一个函数,该函数假设获取数据并将其输入到表中。第一行数据在表中,但随后出现此错误:
org.postgresql.util.PSQLException:预期没有结果时返回了结果。
我的 java 和函数语法除此之外都没有问题,导致我的 java 程序停止。这是我的 postgreSQL 代码:
CREATE OR REPLACE FUNCTION public.populategdelt(globaleventid bigint,day bigint,actor1code character varying,actor1name character varying,actor1countrycode character varying,
actor1knowngroupcode character varying,actor1ethniccode character varying,actor1religion1code character varying,actor1religion2code character varying,actor1type1code character varying,
actor2code character varying,actor2name character varying,actor2countrycode character varying,actor2knowngroupcode character varying,actor2ethniccode character varying,
actor2religion1code character varying,actor2religion2code character varying,actor2type1code character varying,eventcode character varying,eventbasecode character varying,
quadclass bigint,goldsteinscale double precision,nummentions bigint,numsources bigint,avgtone double precision,actor1geo_type bigint,actor1geo_fullname character varying,actor1geo_countrycode character varying,actor1geo_adm1code character varying,actor1geo_adm2code character varying,actor1geo_lat double precision,actor1geo_long double precision,actor2geo_type bigint,actor2geo_fullname character varying,actor2geo_countrycode character varying,actor2geo_adm1code character varying,actor2geo_adm2code character varying,actor2geo_lat double precision,actor2geo_long double precision,actiongeo_type bigint,actiongeo_fullname character varying,actiongeo_countrycode character varying,actiongeo_adm1code character varying,actiongeo_adm2code character varying,actiongeo_lat double precision,actiongeo_long double precision,sourceurl character varying)
RETURNS void
LANGUAGE 'sql'
VOLATILE
PARALLEL UNSAFE
COST 100
AS $BODY$insert into data values ( globaleventid, day, actor1code, actor1name, actor1countrycode, actor1knowngroupcode,
actor1ethniccode, actor1religion1code, actor1religion2code, actor1type1code, actor2code, actor2name, actor2countrycode,
actor2knowngroupcode, actor2ethniccode, actor2religion1code, actor2religion2code, actor2type1code, eventcode, eventbasecode,
quadclass, goldsteinscale, nummentions, numsources, avgtone, actor1geo_type, actor1geo_fullname, actor1geo_countrycode,
actor1geo_adm1code, actor1geo_adm2code, actor1geo_lat, actor1geo_long, actor2geo_type, actor2geo_fullname, actor2geo_countrycode,
actor2geo_adm1code, actor2geo_adm2code, actor2geo_lat, actor2geo_long, actiongeo_type, actiongeo_fullname, actiongeo_countrycode,
actiongeo_adm1Code, actiongeo_adm2code, actiongeo_lat, actiongeo_long, sourceurl);
$BODY$;
我需要不同的退货声明吗?因为我想要它做的是转到下一行数据,但如果它因此错误而停止,则不能。如果 void 不适用于此功能,我应该返回什么?
解决方案
在 Java 中使用execute()
而不是解决了这个问题!executeUpdate()
推荐阅读
- html - 翻译取决于内容大小
- android - 更改材料选项卡项目的语言
- codeigniter - 在 codeigniter 中更改文件上传的自定义错误消息
- laravel - 找不到驱动程序 (SQL: select * from `users` where `email` = admin@gmail.com limit 1)"
- mysql - sakila ERROR 1044 (42000) at line 46412: Access denied for user 'ted'@'localhost' to database 'sakila'
- python - MapReduce,调整Mapper方法
- php - PHP错误处理并在表中插入错误详细信息?
- selenium - 除了使用隐式等待或 webdriver 等待外,如何将默认等待时间应用于 selenium 中的可见或查找或显示 webElement
- bash - 当我通过 ssh 尝试时,这个 unix 命令有什么问题?
- sequelize.js - sequelize.sync() 以什么顺序创建模型?