Announcement

Collapse
No announcement yet.

Dynamische Stored Procedure erstellen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Dynamische Stored Procedure erstellen

    Hallo ich möchte eine Dynamische SP erstellen. Indem ich bei einer Selectanweisung einen Fieldname übergebe, sowie wine whereclause anweisung.
    Wie z.B. So
    <br>
    Select :Feld from Tabelle
    where :Whereclause
    order by :Feld
    <br>
    Leider bekomme ich dabei immer fehlermeldungen
    Kann mir jemand helfen das Problem zu Lösen
    Ich nutze Delphi 5 mit Interbase 6.1 sowie IBObject Komponenten
    Vielleicht gibt es ja auch die Möglichkeit Sourceseitig sowas zu erzeugen

  • #2
    Hallo Elmar,
    das ist nicht möglich.
    StoredProcedures sind vorkompiliert und können daher kein dynamisches SQL.
    Du kannst nur mit:
    IF ( Feld = 'FELD_1' ) then
    begin
    SELECT FELD_1 from TABELLE ...
    end
    else if ( FELD = 'FELD_2' ) then
    begin
    end
    usw. eine eigene Schleife über alle mögliche Werte für FELD schreiben.
    Bei Firebird 1.5, kannst Du allerdings mittels EXEXUTE STATEMENT das Gewünschte erreichen.
    Eine SP source- (ich nehme an Du meinst client-) seitig zu erzeugen ist KEINE sinnvolle Lösung - da stellt sich dann auch die Frage, warum Du in diesem Fall nicht gleich das SQL als "normales" dynamisches Statement in einer Query erzeugst.

    Gruss
    Luc

    Comment


    • #3
      Danke vorerst mal

      werde es versuchen ob es klapp

      Comment

      Working...
      X