引起:org.hsqldb.HsqlException:基数违规
Posted
技术标签:
【中文标题】引起:org.hsqldb.HsqlException:基数违规【英文标题】:Caused by: org.hsqldb.HsqlException: cardinality violation 【发布时间】:2015-06-10 09:17:56 【问题描述】:我正在使用 HSQLDB 作为我的 java 应用程序的后端,当我尝试使用单个记录在 java 中调用过程时,我能够获得结果集,但对于多个记录,我得到以下异常 "Caused by: org.hsqldb.HsqlException: cardinality violation"
CREATE PROCEDURE get_Street(OUT c_str_col VARCHAR(50), OUT c_color VARCHAR(50)) READS SQL DATA BEGIN ATOMIC SELECT str_col, color INTO c_str_col, c_color FROM sample;END
String proc = ("call get_Street(?,?)");
CallableStatement cs = connection.prepareCall(proc);
cs.registerOutParameter(1, Types.VARCHAR);
cs.registerOutParameter(2, Types.VARCHAR);
cs.execute();
【问题讨论】:
【参考方案1】:两个 OUT 变量是标量并且只接受一个值。如果要返回多行数据,应该在过程体中打开一个CURSOR,读取过程调用返回的ResultSet。
详细信息在指南中:
http://hsqldb.org/doc/2.0/guide/sqlroutines-chapt.html#src_returning_data
【讨论】:
以上是关于引起:org.hsqldb.HsqlException:基数违规的主要内容,如果未能解决你的问题,请参考以下文章
csharp 可能会引起问题的类的继承问题,父类后来增加的方法可能会引起子类的函数重载错误