/ Forside / Teknologi / Udvikling / Java / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java
#NavnPoint
molokyle 3688
Klaudi 855
strarup 740
Forvirret 660
gøgeungen 500
Teil 373
Stouenberg 360
vnc 360
pmbruun 341
10  mccracken 320
Apache Derby: CREATE FUNCTION
Fra : Preben Holm


Dato : 27-03-05 16:35

Hej gruppe


Jeg sidder og prøver at lave en funktion i en Apache Derby (IBM
Cloudscape) database, men jeg fatter ikke hvad der er galt?


----
CREATE FUNCTION storedFunction (nrtime DATE, nctime INT, patientid INT,
treaterid INT)
RETURNS INT
LANGUAGE SQL
BEGIN
DECLARE v_numRecords INT DEFAULT 1;
DECLARE ret INT DEFAULT 0;

DECLARE c1 CURSOR FOR
SELECT COUNT(*) INTO v_numRecords FROM reservations
ORDER BY rtime
WHERE
( (((rtime + ctime) - (nrtime + nctime)) < 0
AND ((nrtime + nctime) - (rtime + ctime)) > 0)
OR
(((rtime + ctime) - (nrtime + nctime)) > 0
AND ((nrtime + nctime) - (rtime + ctime)) < 0)
) AND treater = treaterid;



OPEN c1;

IF v_numRecords = 0 THEN
INSERT INTO reservations (patient, treater, rtime, ctime)
values (patientid, treaterid, nrtime, nctime);
SET ret = 1;
ELSE
SET ret = 0;
END IF;

RETURN ret;
END
----


Jeg får en fejl på linie 3: LANGUAGE SQL (genkender ikke SQL) - kan man
ikke skrive SQL-funktioner i Derby?

Er der nogen lettere måde at gøre tingene på?

Hvad sker der iøvrigt hvis INSERT INTO - statement fejler af en eller
anden mærkelig årsag?


Med venlig hilsen
Preben Holm

 
 
Søg
Reklame
Statistik
Spørgsmål : 177579
Tips : 31968
Nyheder : 719565
Indlæg : 6409075
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste