![]() |
Datenbank: Firebird • Version: 2.5 • Zugriff über: ZEOS
Firebird Quelltext eines Generators lesen
Hallo!
Wie kann man den Quelltext (DDL) eines Generators oder auch beliebiger anderer Objekte (Trigger, Stored Procedures...) mittels ZEOS als String/Memo abrufen? Grüße Cody |
AW: Firebird Quelltext eines Generators lesen
Vielleicht wirst Du hier fündig, vieles davon sind alledings nur Objektnamen, immerhin:
![]() Evtl. ist das mit Vorsicht zu genießen, weil es u.U. versionsabhängig ist... Beispiel für View Source:
Code:
Das ist dann wohl kein komplettes DDL. Müsste man zur erneuten Anwendung etwas aufmotzen.
select rdb$view_source
from rdb$relations where rdb$relation_name = '<your view name>' Da es einfach nur select statements sind, kann man es einfach mit irgendeiner Querykomponente abrufen. Welche dürfte egal sein. |
AW: Firebird Quelltext eines Generators lesen
Sieht auf den ersten Blick sehr vielversprechend aus. Ich wurschtel mich mal durch.
|
AW: Firebird Quelltext eines Generators lesen
Trigger: RDB$TRIGGERS
SPs: RDB$PROCEDURES |
AW: Firebird Quelltext eines Generators lesen
Zitat:
Code:
hinaus gehen. Mit Tools wie dem SQL Manager Lite kann ich die ja anzeigen, darum hats mich interessiert wie ich die mit ZEOS auslesen kann.
CREATE GENERATOR <name>;
|
AW: Firebird Quelltext eines Generators lesen
Ein Generator ist ein unabhängig von einer Tabelle gespeicherter Wert. Für diesen gibt es keinen Quelltext.
Dieser wird meist durch einen Trigger oder auch im Programm verändert (mit SemaphorenFunktion GEN_ID()). Der gesuchte Quelltext wird sich u.a. im BI-Trigger der/den entsprechenden Tabelle(n) befinden. |
AW: Firebird Quelltext eines Generators lesen
Generatoren stehen in RDB$GENERATORS:
SQL-Code:
select 'create generator '||RDB$GENERATOR_NAME||';' as Generator from RDB$GENERATORS;
|
AW: Firebird Quelltext eines Generators lesen
Zitat:
Code:
Die zweite Zeile ist offensichtlich ein Vorgabewert. Darum habe ich angenommen, es gäbe wie bei Procedures und Triggern eine statische DDL. Anscheinend schummelt der SQL Manager da aber auch. Nur woher kommt der Vorgabewert, in dem Fall die "1000"?
CREATE GENERATOR <name>;
SET GENERATOR <name> TO 1000; |
AW: Firebird Quelltext eines Generators lesen
Das wird der aktuelle Wert sein.
|
AW: Firebird Quelltext eines Generators lesen
Zitat:
und bieten zusätzlich zu ihren eigenen Informations-Strukturen oftmals auch "einheitliche" VIEWs an, wie z.B. information_schema.tables usw. Wenn möglich sollte man es immer erstmal darüber versuchen, was es dann auch einfacher macht die Version zu ändern oder auf andere DBMS zu wechseln, wenn man möglichst nur einheitliche Dinge benutzt. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:19 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 by Thomas Breitkreuz