sqlca.sqlerrm.sqlerrmc SQL 代码 -284
Posted
技术标签:
【中文标题】sqlca.sqlerrm.sqlerrmc SQL 代码 -284【英文标题】:sqlca.sqlerrm.sqlerrmc SQL code -284 【发布时间】:2014-08-18 15:21:42 【问题描述】:我正在使用嵌入式 C: 以下查询返回一个奇怪的 SQLcode -284
EXEC SQL
select *
into :xx
from xx
where ....
if (SQLCODE < 0)
err_log( "code %ld sqlerrmc %s",sqlca.sqlerrm.sqlerrml,sqlca.sqlerrm.sqlerrmc);
db_error("");
return -1;
错误日志是: 代码 4 sqlerrmc SQL error -284 在第 2803 行
你能支持我吗?
【问题讨论】:
EXEC SQL //这是第2803行 【参考方案1】:来自描述 SQLCA 的PostgreSQL Web site:
-284 (ECPG_INFORMIX_SUBSELECT_NOT_ONE) 子查询的结果不是单行(Informix 兼容模式)。 (SQLSTATE 21000)
我在谷歌搜索“PostgreSQL 嵌入式 sql -284”后的两分钟内发现了这一点。我建议您多努力寻找诸如此类的主要文档,而不是在 SO 上提出问题。
【讨论】:
子句 between 可以是 SUBSELECT 吗?查询是这样的: select * into xx from xx where column1 = :vaulex and column2 between :value1 and :value2; @ThesmartEagle:问题是您的查询返回多行,但您正在写入一个只能存储一行数据的对象。您要么需要收紧查询以使其仅返回一行,要么需要使用游标。以上是关于sqlca.sqlerrm.sqlerrmc SQL 代码 -284的主要内容,如果未能解决你的问题,请参考以下文章