![]() |
Datenbank: Firebird • Version: 1.5. • Zugriff über: IBO
Parameter-Übergabe für IN-Operator
Hallo zusammen,
versuche jetzt schon eine Weile herum, aber finde keine Lösung. Ich möchte eine Stored-Procedure bauen, welche eine Reihe von Werten für den IN-Operator übergeben bekommt. Mit String-Übergabe klappt das schon mal überhaupt nicht. Möchte alle Datensätze, welche auf den ersten beiden Stellen in der Menge enthalten sind. Mit der Übergabe von BEREICHE geht es nicht, schreibe ich es hart codiert in die SP, klar dann funktioniert es. Bin also eigentlich auf der Suche nach einer Art "Evaluator" für die übergebenen BEREICHE (Beispiel-Inhalt '"10","11","12"') Hat einer von Euch einen Ansatz oder eine Idee für mich? Vielen Dank
Code:
CREATE PROCEDURE SP_SUCHE (
TEILNAME VARCHAR(60), BEREICHE VARCHAR(128)) RETURNS ( KZ CHAR(1), WERT CHAR(9), SUCHNAME VARCHAR(60)) AS BEGIN KZ = "1"; FOR SELECT WERT, SUCHNAME FROM VIEW_SELEKTIERE WHERE SUCHNAME STARTING WITH :TEILNAME AND SUBSTRING(WERT FROM 1 FOR 2) IN (:BEREICHE) INTO :WERT, :SUCHNAME DO BEGIN SUSPEND; END END |
AW: Parameter-Übergabe für IN-Operator
Für IN können keine Parameter übergeben werden.
Eine Lösung wäre dynamisches SQL oder Werte in eine temporäre Tabelle schreiben und dann in das IN per SELECT als Abragemenge einbinden. Gruß Borwin |
AW: Parameter-Übergabe für IN-Operator
Ich kenne Firebird nicht unter SQL-Server muß der SQL für diesen Fall in einem Varchar zusammengebaut und per Exec ausgeführt werden.
|
AW: Parameter-Übergabe für IN-Operator
Jupp, danke für den Anstoss - baue mir jetzt mein SQL dynamisch aus einem String zusammen, in den der Parameter mit eingefügt wird. Funktioniert tadellos:
Code:
OK, das "STARTING WITH" sollte ich noch ergänzen :)
STMNT = "SELECT WERT, SUCHNAME FROM VIEW_SELEKTIERE WHERE SUBSTRING(WERT FROM 1 FOR 2) IN (" || :BEREICHE || ")";
FOR EXECUTE STATEMENT STMNT INTO :WERT, :SUCHNAME DO SUSPEND; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:21 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