我是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 –