Autor Beitrag
uko
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 220
Erhaltene Danke: 1

Win XP, VISTA, WIndows 7
Delphi 2007/2010 Prof
BeitragVerfasst: Sa 17.11.07 23:22 
Hallo,

nachdem ich grad versuche mit den stored procedures von Firebird klar zu kommen: ist es möglich, eine SP als Spalte in einem View zu verwenden?:

ausblenden SQL-Anweisung
1:
2:
3:
create view TESTVIEW as 
  select test_col_1, MyStoredProcedure(test_col_2)
  from TESTTABLE;


MyStoredProcedure ist dann eine SP, die genau einen Wert zurückgibt. Geht so was (ich hab's nicht hingebracht)? Und wenn nicht, wie behandelt ihr solche Situationen? Alles in eine zweite SP auslagern die sich die einzelnen Werte zusammenklaubt und dann als selectable SP diese aufrufen?


Grüße,
Uli
UGrohne
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Veteran
Beiträge: 5502
Erhaltene Danke: 220

Windows 8 , Server 2012
D7 Pro, VS.NET 2012 (C#)
BeitragVerfasst: Sa 17.11.07 23:36 
Du musst die Rückgabe einer SP als Tabelle sehen, dann kannst Du diesen einen Rückgabewert auch mit Hilfe eines JOINS oder Kreuzprodukts mit in Dein Ergebnis einbauen.
ausblenden SQL-Anweisung
1:
2:
3:
create view TESTVIEW as 
  select testtable.*, sp.*
  from TESTTABLE, MyStoredProcedure(test_col_2) as sp;
uko Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 220
Erhaltene Danke: 1

Win XP, VISTA, WIndows 7
Delphi 2007/2010 Prof
BeitragVerfasst: Sa 17.11.07 23:47 
Danke! Manchmal scheint das Naheliegendste doch ziemlich weit entfernt zu sein :)

*edit:* jetzt war ich zu schnell. Als einzelnes Select-Statement funktioniert die Lösung zwar, aber nicht im View. Da bekomme ich immer einen Fehler (Feature not supported). Hab jetzt mal in der IB6 Doku nochmal nachgeschaut: dort steht geschrieben, daß ein View nicht auf der Ergebnismenge einer Stored Procedure basieren kann :( Gilt das auch noch für Firebird? (habe die 2.0.3 installiert)


Grüße,
Uli
UGrohne
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Veteran
Beiträge: 5502
Erhaltene Danke: 220

Windows 8 , Server 2012
D7 Pro, VS.NET 2012 (C#)
BeitragVerfasst: So 18.11.07 00:15 
user profile iconuko hat folgendes geschrieben:
Danke! Manchmal scheint das Naheliegendste doch ziemlich weit entfernt zu sein :)

*edit:* jetzt war ich zu schnell. Als einzelnes Select-Statement funktioniert die Lösung zwar, aber nicht im View. Da bekomme ich immer einen Fehler (Feature not supported). Hab jetzt mal in der IB6 Doku nochmal nachgeschaut: dort steht geschrieben, daß ein View nicht auf der Ergebnismenge einer Stored Procedure basieren kann :( Gilt das auch noch für Firebird? (habe die 2.0.3 installiert)


Grüße,
Uli

Hui, das wusste ich jetzt auch noch nicht :shock:. Ok, ich brauch auch sehr selten Views, aber wenn FB 2.0.3 sagt, dass es nicht supported sei, dann wird das wohl leider der Fall sein :(. Bleibt also noch die Möglichkeit, eine weitere SP daraus zu machen, statt eines Views.