| 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
 
 
 |