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
正しい構文ではありませんか?
ご協力いただけると助かります。
bigとsmallestオブジェクトの 'MAX'値で' MIN'値を計算する必要がある場合はどうすればいいですか?私は単一のクエリでそれを行うことはできますか?あなたが知っていることをよりよく説明するために変更された質問 – Raj
@Rajkishan:ストアドプロシージャの構文に関する質問が何か違うものになってしまった。今、[タグ:グループあたりの最大のn]を効率的に見つけることができました。これは1日に数回お願いしています。こちらをご覧ください:http://stackoverflow.com/questions/tagged/greatest-n-per-group+sql –