![]() |
Interbase Generatoren in Stored Proc
Hallo erstmal,
gibt es eigentlich eine Möglichkeit einen Generator aus einer Variable heraus aufzurufen z.B.
Code:
vielen Dank
Create Procedure Test
AS DECLARE VARIABLE MyGEN_NAME VARCHAR(20); DECLARE VARIABLE GENWERT INT; BEGIN ... MyGEN_NAME = 'TESTGENERATOR'; GENWERT = GEN_ID(:MyGEN_NAME,1); ... END ^ Gruß danielA |
Hi,
das kannst Du so machen:
Code:
wobei Generatorname eben der Generator ist. Die Tabelle rdb$database existiert in jeder IB/FB-Tabelle und beinhaltet einen einzigen Datensatz und ist daher für solche Sachen ideal geeignet.
Select gen_ID(Generatorname,1) from rdb$database into :variable;
Grüße Lemmy[/code] |
Hallo Lemmy,
Danke erstmal für die Antwort aber ich habe mein Problem wahrscheinlich falsch dargestellt. Mein Problem ist, es wird in einer Stored Procedure der Name eines Generators aus einer Tabelle ausgelesen und dieser Generator soll dann aufgerufen werden. Ich kenne nur leider die Namen der Generatoren nicht zur Entwurfszeit. Ich hatte die Hoffnung die sache evtl. mit soetwas wie
Code:
lösen zu können aber dieser Befehl steht mir in Stored Procedures leider nicht zur Verfügung. Also etwa soetwas.
EXECUTE IMMEDIATE
Code:
Ich glaube ich werde das wohl leider anders lösen müssen.
SET TERM ;^
Create Procedure TestProc (MyGEN_NAME VARCHAR(20)) RETURNS (GENWERT INT) AS BEGIN EXECUTE IMMEDIATE 'GENWERT = gen_ID(' || :MyGEN_NAME ||',1)'; END ^ Gruß danielA |
Hallo Daniel, :)
gleich am Montag werde ich danach schauen (falls bis dann noch keine Lösung hier gefunden wird)... ich glaube so etwas ist möglich... Gruß Paul Jr. |
Hallo Daniel,
Du meldest Dich nicht hier... und jetzt weiß ich nicht, bo Du schon etwas gefunden hast... Ich bin jetzt leider diese Woche bei einem Kunde (bin nur ganz kurz hier...) und kann ich mich damit jetzt nicht beschäftigen...So... Melde Dich hier bitte... und nächste Woche werde ich schauen was sich machen läßt... da ich schon etwas änliches unter Oracle geschaft habe... aber jetzt weiß ich noch nicht, ob sich auch so was unter InterBase machen läßt... Gruß Paul Jr. |
Hallo Paul,
ich dachte schon du hast mich vergessen, dabei hast du nur auf Antwort von mir gewartet, entschuldigung :oops:. Ich habe leider noch nichts zu diesem Problem gefunden und werde es jetzt wohl ersteinmal anders lösen müssen. Ich wüßte dennoch gern ob und wie das geht, da es doch vieles vereinfachen könnte. Gruß und bis dann danielA |
Hallo Daniel, 8)
nun heute schaue ich ob das machbar ist... Gruß Paul Jr. |
Ok, bis dann
danielA |
Hallo Daniel, 8)
also ich habe einiges ausprobiert und habe leider nicht hingekriegt.. :cry: es tut mir Leid... Gruß Paul Jr. |
Hallo Paul
macht nichts trotzdem Danke Gruß danielA |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:36 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