我是HSQL中的新成员。尝试了如下的程序;HSQL SELECT语句不起作用
CREATE PROCEDURE GetData(ObjectId VARCHAR(36)) READS SQL DATA
DYNAMIC RESULT SETS 1
BEGIN ATOMIC
DECLARE MaxVal NUMERIC(19,2);
DECLARE MinVal NUMERIC(19,2);
DECLARE BiggestObjectName VARCHAR(50);
DECLARE SmallestObjectName VARCHAR(50);
SET MaxVal = (SELECT MAX(HeightValue) FROM ObjectData WHERE ObjectId=ObjectId);
SET MinVal = (SELECT MIN(HeightValue) FROM ObjectData WHERE ObjectId=ObjectId);
SET BiggestObjectName = (SELECT ObjectName FROM ObjectData WHERE ObjectId=ObjectId AND HeightValue=MaxVal);
SET SmallestObjectName = (SELECT ObjectName FROM ObjectData WHERE ObjectId=ObjectId AND HeightValue=MinVal);
if MaxVal IS NOT NULL THEN
DECLARE result CURSOR WITH RETURN FOR
SELECT MaxVal AS MaximumHeight, MinVal AS MinimumHeight, BiggestObjectName AS LargestDisplayCaseName, SmallestObjectName AS SmallestDisplayCaseName FOR READ ONLY;
OPEN result;
END
但我得到错误;
Caused by: java.sql.SQLSyntaxErrorException: unexpected token: ; required: INTO
这不正确的语法吗?
任何帮助表示赞赏:)
如果我需要为最大和最小的对象计算“MIN”值和MAX值,该怎么办?我可以在单个查询中完成吗?问题修改为更好地描述我的意思 – Raj
@Rajkishan:您知道将有关存储过程语法的问题转化为不同的东西。现在是关于高效地找到[tag:most-n-per-group]。这是每天要问几次,请看这里:http://stackoverflow.com/questions/tagged/greatest-n-per-group+sql –