mk
02-01-12, 14:29
Hallo zusammen,
ich möchte aus einer Tabelle die letzte höchste Nummer
ermitteln. Dazu soll eine SQL Function dienen.
Hier die Function:
CREATE FUNCTION MK/NNR (
AEMAIL CHAR(70) ,
AYEAR CHAR(4 ) )
RETURNS dec (10, 0 )
LANGUAGE SQL
NOT DETERMINISTIC
READS SQL DATA
CALLED ON NULL INPUT
SET OPTION ALWBLK = *ALLREAD ,
ALWCPYDTA = *OPTIMIZE ,
COMMIT = *NONE ,
CLOSQLCSR = *ENDMOD ,
DFTRDBCOL = *NONE ,
DLYPRP = *NO ,
DYNDFTCOL = *NO ,
DYNUSRPRF = *USER ,
RDBCNNMTH = *RUW ,
SRTSEQ = *HEX
BEGIN
DECLARE aReturn DEC ( 10, 0);
CASE
WHEN (
( SELECT COUNT ( * ) FROM APPCLHP
whERE H_CARDEML = AEMAIL
AND H_CARDYY = AYEAR ) > 0 )
THEN
SET ARETURN =
SELECT max(H_CARDNR) +1
From appclhp
WHERE H_CARDYY = AYEAR
and H_CARDEML = AEMAIL ;
WHEN (
( SELECT COUNT ( * ) FROM APPCLHP
whERE H_CARDEML = AEMAIL
AND H_CARDYY = AYEAR ) = 0 )
THEN
SET ARETURN = 1;
END CASE ;
RETURN ARETURN ;
END ;
Die Keyfelder sind
H_CARDEML
H_CARDYY
und werden als Parameter übergeben.
Leider schaffe ich es von der Syntax nicht
das ich die SQL Function erstellen kann.
Hat jemand eine Idee ?
ich möchte aus einer Tabelle die letzte höchste Nummer
ermitteln. Dazu soll eine SQL Function dienen.
Hier die Function:
CREATE FUNCTION MK/NNR (
AEMAIL CHAR(70) ,
AYEAR CHAR(4 ) )
RETURNS dec (10, 0 )
LANGUAGE SQL
NOT DETERMINISTIC
READS SQL DATA
CALLED ON NULL INPUT
SET OPTION ALWBLK = *ALLREAD ,
ALWCPYDTA = *OPTIMIZE ,
COMMIT = *NONE ,
CLOSQLCSR = *ENDMOD ,
DFTRDBCOL = *NONE ,
DLYPRP = *NO ,
DYNDFTCOL = *NO ,
DYNUSRPRF = *USER ,
RDBCNNMTH = *RUW ,
SRTSEQ = *HEX
BEGIN
DECLARE aReturn DEC ( 10, 0);
CASE
WHEN (
( SELECT COUNT ( * ) FROM APPCLHP
whERE H_CARDEML = AEMAIL
AND H_CARDYY = AYEAR ) > 0 )
THEN
SET ARETURN =
SELECT max(H_CARDNR) +1
From appclhp
WHERE H_CARDYY = AYEAR
and H_CARDEML = AEMAIL ;
WHEN (
( SELECT COUNT ( * ) FROM APPCLHP
whERE H_CARDEML = AEMAIL
AND H_CARDYY = AYEAR ) = 0 )
THEN
SET ARETURN = 1;
END CASE ;
RETURN ARETURN ;
END ;
Die Keyfelder sind
H_CARDEML
H_CARDYY
und werden als Parameter übergeben.
Leider schaffe ich es von der Syntax nicht
das ich die SQL Function erstellen kann.
Hat jemand eine Idee ?