# Stored Procedures



## Guest (2. Nov 2005)

Guten Tage,

ist es möglich eine stored Procedure zur Laufzeit eines Java - Programmes zu erstellen? Ich erstelle nämlich die gesamte Datenbank erst zur Laufzeit.

Danke


----------



## KSG9|sebastian (2. Nov 2005)

mit welcher Datenbank ?
Natürlich sollte es möglich sein...aber wie genau steht in der jeweiligen Docu. Bei MySQL ist es ja ein einfacher INSERT in ne vordefinierte Tabelle


----------



## Bleiglanz (2. Nov 2005)

ist ja auch nur eine SQL Anweisung, z.B.

```
CREATE STORED PROCEDURE...
```


----------



## Guest (2. Nov 2005)

Danke für die Hinweise,

hatte mir bereits gedacht, dass es so einfach funktioniert. Hatte aber anfangs ein "set term ^" drinnen. Das musste ich rausnehmen ansonsten hat es immer eine sql-exception geworfen. Ich stell mal die gesamte stored Procedure rein. Vielleicht hat jemand noch ein Idee wie ich das "set Term ^" mitverwenden kann.


```
set term ^;
create procedure p_abfrageaktuellerkurs
  (kurs_id integer,
   aktuelleUhrzeit time,
   datum date)
returns
  (aktuellekurs_id Integer)
as
  declare variable ankunftszeit time;
  declare variable abfahrtszeit time;
begin
  for select abfahrt
         from jf_fahrplan f
         where f.kurs_id = :kurs_id
         and f.ankunft is null
         into :abfahrtszeit
  do
  for select ankunft
         from jf_fahrplan f
         where f.kurs_id = :kurs_id
         and f.abfahrt is null
         into :ankunftszeit
   do
     begin
     if (:abfahrtszeit < :ankunftszeit) then
       select distinct AktuelleKurse_ID
       from tagesfahrplan t, TF_AktuelleKurse ak, jf_fahrplan f
       where (t.gueltig_am = :datum)
       and (t.tagesfahrplan_id = ak.tagesfahrplan_id)
       and (ak.kurs_id = :kurs_id)
       and (:abfahrtszeit <= :aktuelleUhrzeit)
       and (:ankunftszeit >= :aktuelleUhrzeit)
       into :aktuellekurs_id;
     else
       select distinct AktuelleKurse_ID
       from tagesfahrplan t, TF_AktuelleKurse ak, jf_fahrplan f
       where (t.gueltig_am = :datum)
       and (t.tagesfahrplan_id = ak.tagesfahrplan_id)
       and (ak.kurs_id = :kurs_id)
       and ((:abfahrtszeit <= :aktuelleUhrzeit)
       or  (:ankunftszeit >= : aktuelleUhrzeit))
       into :aktuellekurs_id;
     end
   suspend;
end^
set term ;^
```

Danke


----------

