AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Interbase Generatoren in Stored Proc
Thema durchsuchen
Ansicht
Themen-Optionen

Interbase Generatoren in Stored Proc

Ein Thema von danielA · begonnen am 14. Nov 2002 · letzter Beitrag vom 27. Nov 2002
Antwort Antwort
danielA

Registriert seit: 10. Jun 2002
Ort: Hamburg
72 Beiträge
 
Delphi XE7 Enterprise
 
#1

Interbase Generatoren in Stored Proc

  Alt 14. Nov 2002, 15:05
Hallo erstmal,

gibt es eigentlich eine Möglichkeit einen Generator aus einer Variable heraus aufzurufen

z.B.
Code:
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
^
vielen Dank
Gruß danielA
  Mit Zitat antworten Zitat
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.366 Beiträge
 
Delphi 10.3 Rio
 
#2
  Alt 15. Nov 2002, 07:28
Hi,

das kannst Du so machen:

Code:
   Select gen_ID(Generatorname,1) from rdb$database into :variable;
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.

Grüße
Lemmy[/code]
  Mit Zitat antworten Zitat
danielA

Registriert seit: 10. Jun 2002
Ort: Hamburg
72 Beiträge
 
Delphi XE7 Enterprise
 
#3
  Alt 15. Nov 2002, 10:36
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:
EXECUTE IMMEDIATE
lösen zu können aber dieser Befehl steht mir in Stored Procedures leider nicht zur Verfügung. Also etwa soetwas.

Code:
SET TERM ;^
Create Procedure TestProc (MyGEN_NAME VARCHAR(20))
   RETURNS (GENWERT INT)
AS
BEGIN
   EXECUTE IMMEDIATE 'GENWERT = gen_ID(' || :MyGEN_NAME ||',1)';
END
^
Ich glaube ich werde das wohl leider anders lösen müssen.

Gruß danielA
  Mit Zitat antworten Zitat
Gast
(Gast)

n/a Beiträge
 
#4
  Alt 15. Nov 2002, 12:11
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.
  Mit Zitat antworten Zitat
Gast
(Gast)

n/a Beiträge
 
#5
  Alt 20. Nov 2002, 12:18
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.
  Mit Zitat antworten Zitat
danielA

Registriert seit: 10. Jun 2002
Ort: Hamburg
72 Beiträge
 
Delphi XE7 Enterprise
 
#6
  Alt 20. Nov 2002, 14:09
Hallo Paul,

ich dachte schon du hast mich vergessen, dabei hast du nur auf Antwort von mir gewartet, entschuldigung .
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
  Mit Zitat antworten Zitat
Gast
(Gast)

n/a Beiträge
 
#7
  Alt 26. Nov 2002, 06:25
Hallo Daniel, 8)

nun heute schaue ich ob das machbar ist...

Gruß

Paul Jr.
  Mit Zitat antworten Zitat
danielA

Registriert seit: 10. Jun 2002
Ort: Hamburg
72 Beiträge
 
Delphi XE7 Enterprise
 
#8
  Alt 26. Nov 2002, 08:15
Ok, bis dann

danielA
  Mit Zitat antworten Zitat
Gast
(Gast)

n/a Beiträge
 
#9
  Alt 27. Nov 2002, 12:20
Hallo Daniel, 8)

also ich habe einiges ausprobiert und habe leider nicht hingekriegt..

es tut mir Leid...

Gruß

Paul Jr.
  Mit Zitat antworten Zitat
danielA

Registriert seit: 10. Jun 2002
Ort: Hamburg
72 Beiträge
 
Delphi XE7 Enterprise
 
#10
  Alt 27. Nov 2002, 13:13
Hallo Paul

macht nichts trotzdem Danke

Gruß danielA
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:50 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz