![]() |
Re: * in Stored Procedure [Interbase]
Hi Hansa,
evtl. kann das mit dem * nicht funktionieren, weil Du alle Spalten einer Tabelle den Parametern der SP zuordnen musst:
SQL-Code:
Mit Into wird die SP quasi angewiesen die Werte in diesen Parameter (oder eben mehrere) zu übergeeben. Schau Dir doch mal das SP-Tutorial auf meiner Seite an
CREATE PROCEDURE GetAdresseName (AdresseID INTEGER)
RETURNS (AdresseName VARCHAR(80)) AS BEGIN FOR SELECT Name From Adresse Where ID=:AdresseID INTO AdresseName Do SUSPEND; END^ ![]() Grüße Lemmy |
Re: * in Stored Procedure [Interbase]
Da ich hier schon des öfteren Prozeduren gesehen habe (MSSQL & IB/FB), die sich wie Views verhalten, wollte ich mich mal schlau machen, warum Oracle das nicht unterstützt.
Die Antwort ist simpel: Das Ganze funktioniert (zumindest beim SQL Svr) über zwei Threads. Der erste arbeitet die Prozedur ab und schickt die Werte (mit suspend) durch eine Pipe an den zweiten. Das kann in einer großen DB niemals funktionieren da es einfach zu viel Leistung schluckt (sicher nicht mehr als 20-30 User, bei mehr wird es zu Verzögerungen kommen, die der User bemerken würde). Ein wesentlich effektiverer Weg wäre es einen Verweis auf einen Cursor zu übergeben. Falls die FB/IB-Komponenten (sie arbeiten doch direkt mit der API von FB/IB ?) das ähnlich wie es manche Ora-Kompos unterstützen, könntest du mit dem Rückgabewert sofort ein DataSet oder eine Query "bestücken". |
Re: * in Stored Procedure [Interbase]
Zitat:
|
Re: * in Stored Procedure [Interbase]
Zitat:
SQL-Code:
Wird in FB sicher auch funktionieren. (wenn auch mit etwas anderer Syntax ;) )
create or replace function GetCursor(pSomeValue in varchar2) return SomeRefCurType
is oCur SomeRefCurType; begin open oCur for SELECT X FROM Y WHERE Z like pSomeValue; return oCur; end; |
Re: * in Stored Procedure [Interbase]
Robert, erspare mir den Oracle-Mist. :lol: Mir ist schon klar, daß ich einen Nagel auch mit der bloßen (dann blutenden) Hand einkloppen kann. :mrgreen:
|
Re: * in Stored Procedure [Interbase]
Zitat:
So musst du halt selbst schauen, ob die Lösung in FB möglich bzw. ob sie überhaupt besser ist (das was ich weiter oben geschrieben habe, weiß ich halt nur vom SQL Svr). Da ich mit soviel Freundlichkeit auf einmal nicht umgehen kann: @Gérome: Wie wär's mit einer Ignore-Liste pro Autor? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:35 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz