Skriptausführung
<< Datenanalyse (OLAP) | IBExpert | Kopiere Datenbankobjekt >>
Die deutschsprachige Dokumentation wird seit dem 26. Juli 2016 nicht mehr gepflegt. Aktuelle und vollständige Dokumentation finden Sie auf der englischsprachigen Webseite: IBExpert Documentation
- Skript Explorer
- Skriptseite
- Seite Statements
- Seite Optionen
- Verwendung von Unicode in der
Skriptausführung - Ausführung mehrerer Skripte aus
einem Einzelskript - Erzeugung mehrerer CSV-Dateien
aus einem Skript - Skriptsprachenergänzungen
- Bedingungsdirekiven
- IBExpert
DESCRIBE
statement DESCRIBE DOMAIN
DESCRIBE EXCEPTION
DESCRIBE FIELD
DESCRIBE FUNCTION
DESCRIBE PARAMETER
DESCRIBE PROCEDURE
DESCRIBE TABLE
DESCRIBE TRIGGER
DESCRIBE VIEW
INSERTEX
(CSV file import)OUTPUT
RECONNECT
REINSERT
SET BLOBFILE
SET CLIENTLIB
SET LOGIN PROMPT
SET PARAMFILE
SET TRPARAMS
SHELL
Skriptausführung
Die Skriptausführung kann zur Ansicht, Bearbeitung und Ausführung von SQL-Skripten verwendet werden. Sie kann aus dem IBExpert Menü Nützliches mit dem entsprechenden Symbol in der Symbolleiste Nützliches oder [Strg + F12] geöffnet werden. Sie wird für mehrzeilige SQLs verwendet. Die Skriptausführung kann Skripte lesen und ausführen.
Obwohl Firebird/InterBase® solche Prozedurdefinitionen auch im SQL Editor verarbeiten kann, ist es empfehlenswert, die Skriptausführung für komplexere Arbeiten zu verwenden, da sie leistungsfähiger ist als der SQL-Editor. Es werden zahlreiche Skriptspracherweiterungen angeboten, inklusive Bedingungsdirektiven und die Skriptausführung kann auch zur Ausführung mehrerer Skripte aus einem Einzelskript verwendet werden. Der Hauptvorteil der Skriptausführung ist, dass alle DDL und DML-Skripte der verbundenen Datenbank angezeigt werden.
IBExpert Version 2014.01.01 führte die Unterstützung von Firebird 3.0 Packages ein, und nun wird UTF8 BOM bei der Skriptausführung aus einer Datei übersprungen. Seit IBExpert Version 2015.12.21 werden externer Prozeduren/Funktionen/Trigger unterstützt.
Skript Explorer
Der Skript Explorer (linkes Feld) zeigt alle Datenbankobjekte, sowie IBEBlocks und Firebird Blocks, die im aktuellen Skript verwendet werden, in Baumstruktur an. Man kann auch einzelne Anweisungen schnell finden, indem man auf das Objekt in der Baumstruktur klickt. Der Skript Explorer kann mit dem entsprechenden Symbol in der Skriptausführung-Symbolleiste ein- oder ausgeblendet werden. SQL-Skripte können aus einer Datei geladen oder in eine Datei gespeichert werden.
Objekte können per Drag 'n' Drop aus dem DB Explorer und dem SQL-Assistenten in das Code-Editorfenster gezogen werden. Wenn eine Objektverknüpfung aus dem DB Explorer oder dem SQL- Assistenten gezogen wird, bietet IBExpert verschiedenen Textversionen zur Eingabe in den Code-Editor an. Es ist auch möglich, das Markieren der Variablen anzupassen. Verwenden Sie den Menüpunkt Editoreinstellungen/ Farben im IBExpert Menü Optionen, um Farbe und Schriftart der Variablen festzulegen.
Skriptseite
Vollständige Skripte können vom SQL Editor transferiert werden oder direkt aus dem Editor Extrahiere Metadaten in die Skriptausführung mit den entsprechenden Menüpunkten (bitte lesen Sie direkt in den entsprechenden Kapiteln hierzu nach).
Bitte beachten Sie, dass die Skriptausführung immer die Standardbibliothek verwendet, die unter dem Menüpunkt Programmeinstellungen / Einstellungen/ Standard Clientbibliothek im IBExpert Menü Optionen, es sei denn, diese wird überschrieben mit dem Befehl SET CLIENTLIB
.
DML-Anweisungen können - wenn gewünscht - im Skript Explorer Baum angezeigt werden. Per Rechtsklick öffnen Sie das kontextabhängige Menü und können hier Optionen aktivieren oder deaktivieren.
Der Toolbar-Menüpunkt Execute charset (Zeichensatz ausführen) bietet die Optionen ANSI, UTF8 oder Ask me. IBExpert bietet vollständigen Unicode Support. Die interne Darstellung aller Texte im Codeeditor erfolgt in Windows Unicode (UTF-16LE, zwei Bytes pro Zeichen). Dies ermöglicht Ihnen die Verwendung multilingualer Zeichen in Ihren Prozeduren, Abfragen, Datenbankobjektbeschreibungen etc., wenn Sie den UTF8 Zeichensatz bei der Verbindung mit Ihrer Datenbank verwenden.
IBExpert unterstützt auch Vor/Nach Metadatenänderungen-Events. Ausführung von DDL-Anweisungen werden zuerst vor und nach Metadaten Eventblöcken ausgelöst, wenn sie zugewiesen sind und die Aktuelle Verbindung verwenden-Option AN ist.
Folgende Features werden in der Sktriptausführung und IBEScript
angeboten: wenn kein Passwort und/oder kein Benutzername in den CONNECT
oder CREATE DATABASE
Anweisungen eingegeben wird, erscheint ein Login Fenster. Nun ist es auch möglich die Verbindungs-Zeichensatz (SET NAMES
) und Garbage Collection-Option (SET GARBAGE_COLLECT
) vor der RECONNECT
-Anweisung zu ändern. Alle SET
-Befehle, die von einem RECONNECT
-Befehl gefolgt werden, betreffen die neue Verbindung.
Ddie IBECurrentScriptPath
Umgebungsvariable wird vor der Skriptausführung intern initialisiert, und sein Wert stellt den Pfad zur aktuellen Skriptdatei (wenn der Skript von einer Datei geladen/ausgeführt wird) dar. Sie können diese Variable in INPUT
, SET BLOBFILE
und SET PARAMFILE
Anweisungen verwenden, um zu spezifizieren, wo IBExpert/IBEScript
nach den erforderlichen Dateien suchen soll.
Beispiel:
INPUT 'Inputs\data.sql'; ... SET BLOBFILE 'Data\blobs.lob';
Wenn Sie in einer Datenbank den Zeichensatz UTF8 verwenden, konvertiert IBExpert automatisch von UTF8 nach Windows Unicode (bei Öffnung) und zurück (bei Kompilierung). Dies gilt für Firebird 2.1 und 2.5 Datenbanken. Bei anderen Datenbanken müssen Sie dies manuell einstellen (falls Sie es wirklich benötigen!) durch Markieren der Option Do NOT perform conversion from/to UTF8 (nicht von/nach UTF8 konvertieren unter Datenbank registrieren. In der Regel weiß IBExpert, wann es Strings von Windows Unicode nach UTF8 konvertieren muss, aber manchmal ist es notwendig, den Konvertierungstyp manuell festzulegen. Daher können Sie den erforderlichen Zeichensatz manuell festlegen.
Die Seite Skripte enthält noch andere Features, wie Codeergänzung (Details hierzu finden Sie unter Code Insight) und [F1] kontext-sensitive Keyword Hilfe - auch bekannt aus dem SQL Editor. Das SQL Editor Menü kann per Rechtsklick im Skriptbereich aufgerufen werden.
The Advanced progess option was implemented in IBExpert version 2016.03.15. The progress bar is shown on the Script Executive toolbar, and if this option is enabled (default), IBExpert roughly calculates and displays the remaining time using known script size and time already spent, and scrolls the script text editor accordingly to the part of the script currently being executed.
Die Erweiterte Fortschritt-Option wurde in IBExpert Version 2015.03.15 implementiert. Der Fortschrittbalken wird im Skriptausführungs-Toolbar angezeigt und bei Aktivierung (Default) rechnet IBExpert anhand der bekannten Skriptgröße und der bereits abgelaufenen Zeit grob durch, und zeigt die verbleibende Zeit an, . Auch scrollt er durch den Skripttext-Editor zum entsprechenden, aktuell ausgeführten Skriptteil.
Nach der Ausführung der Anweisung zeigt die Seite Skripte eventuelle Fehler rot markiert an. Eventuelle Firebird Fehlermeldungen, die auf der Messages-Seite erscheinen, können in der Firebird 2.1 error codes Dokumentation nachgeschlagen werden. Mit dem Symbol
kann das Skript schrittweise ausgeführt werden.
Fehler, die in der unteren Messages-Box erscheinen, können mit dem Rechtsklickmenüpunkt Save Messages Log ... (Speichere Fehlerprotokoll...) in einer Datei gespeichert werden, falls gewünscht.
Seite Statements (Anweisungen)
Die Seite Statements zeigt eine Liste einzelnen Anweisungen in Tabellenformat an:
Diese Anweisungen können einfach durch Entfernen der Markierung aus der Checkbox auf der linken Seite deaktiviert werden. Eine, mehrere oder alle Anweisungen können über das Rechtsklickmenü aktiviert oder deaktiviert werden. Breakpoints können einfach durch Anklicken der BP-Spalte (oder mit der Leertaste) links von der ausgwählten Anweisung festgelegt oder entfernt werden.
Seite Optionen
Zur Zeit werden folgende Optionen angeboten, die für die aktuelle Instanz der Skriptausführung gelten:
- Abbruch von Skripten bei Fehlern
- Rollback beim Abbruch
- Eventblocks auslösen: diese betrifft lediglich der aktuellen Instanz der Skriptausführung.
Verwendung von Unicode in der Skriptausführung
Wenn Sie Unicode-Textstrings in Ihre Datenbank einfügen müssen, müssen Sie wissen, welcher Zeichensatz für die Verbindung verwendet wird. Wenn ein Nicht-Unicode Zeichensatz verwendet wird, sollten Sie nicht ihre Strings nach Unicode konvertieren, da der Server dies machen wird. Zum Beispiel:
Wenn Sie jedoch mit Ihrer Datenbank verbinden und Sie verwenden einen UTF8.Zeichensatz, sollten Sie Unicode-Strings verwenden:
Um Strings von/nach Unicode zu konvertieren, verwenden Sie die enstprechenden Menüpnukte im Pop-Up-Menü des Editors:
Ausführung mehrerer Skripte aus einem Einzelskript
Verwenden Sie einfach die folgende Syntax:
connect 'server:c:\my_db.gdb' ...; input 'c:\my_scripts\f2.sql'; input 'c:\my_scripts\f1.sql'; input 'c:\my_scripts\f3.sql';
Erzeugung mehrerer CSV-Dateien aus einem Skript
Das folgende Beispiel illustriert, wie man aus einem Skript mehrere CSV-Dateien erzeugt:
shell del C:\list.dat nowait; --alte Datei löschen
shell del C:\*.csv nowait; --alte CSV-Dateien löschen
connect 'localhost:C:\employee.fdb' user 'SYSDBA' password 'masterke';
--verbinden mit der Beispieldatenbank Employee
output 'C:\list.dat'; --folgendes Ergebnis als einfache Textdatei aufzeichnen,
basierend auf jedem einmaligen Mitarbeiter (employee) wird eine neue
output ...;select ... ;output; Zeile in der .dat-Datei erzeugt
SELECT distinct
'OUTPUT C:\'||EMPLOYEE.last_name||'.csv delimiter '';'';'||
'SELECT distinct EMPLOYEE.last_name, customer.customer,customer.phone_no '|| 'FROM SALES INNER JOIN CUSTOMER ON (SALES.CUST_NO = CUSTOMER.CUST_NO) '|| 'INNER JOIN EMPLOYEE ON (SALES.SALES_REP = EMPLOYEE.EMP_NO) whereEMPLOYEE.last_name=XXXXXX||EMPLOYEE.last_name||''';'||
'OUTPUT;' FROM SALES INNER JOIN CUSTOMER ON (SALES.CUST_NO = CUSTOMER.CUST_NO) INNER JOIN EMPLOYEE ON (SALES.SALES_REP = EMPLOYEE.EMP_NO); output; --diese dat-Datei schließen input 'C:\list.dat'; --diese ausführen
Die Datendatei wird automatisch erzeugt.
Die äußere Abfrage bekommt einen Datensatz für jeden Mitarbeiter (employee), in der inneren Abfrage werden alle Telefonnummern der Mitarbeiter ausgewählt, wenn Kunden ausgewählt sind.
Weitere Infos finden Sie unter IBEBlock Beispiele: Importieren von Daten aus einer CSV-Datei.
Skriptsprachenergänzungen
Skriptsprachenergänzungen sind einmalig in IBExpert und bieten dem Entwickler eine Vielzahl an zusätzlichen Sprachoptionen. Diese beinhalten unter anderem Bedingungsdirektiven, DESCRIBE
Datenbankobjekte, sowie SET
, SHELL
, INSERTEX
, OUTPUT
und RECONNECT
.
Bedingungsdirektiven
Bedingungsdirektiven kontrollieren die bedingte Ausführung von Skriptteilen. Vier Typen von Bedingungsdirektiven werden unterstützt:
$IFEXISTS
Diese testen das Vorhandensein von definierten Datenbankobjekten oder Daten und führen den folgenden Skriptblock aus, wenn das Objekt oder die Daten in der Datenbank vorhanden sind.
Syntax
1. {$IFEXISTS DOMAIN|TABLE|VIEW|TRIGGER|PROCEDURE|
EXCEPTION|GENERATOR|UDF|ROLE object_name}
2. {$IFEXISTS select_statement}
Beispiel
Das folgende Skript löscht die Exception InvalidUserID
, wenn diese in der Datenbank vorhanden ist:
{$IFEXISTS EXCEPTION "InvalidUserID"} DROP EXCEPTION "InvalidUserID";
Das nächste Skript ändert eine Prozedur:
{$IFEXISTS SELECT RDB$PROCEDURE_NAME FROM RDB$PROCEDURES WHERE RDB$PROCEDURE_NAME = 'GETDBVER'} ALTER PROCEDURE GETDBVER RETURNS ( VER INTEGER) AS begin ver = 2; suspend; end;
$IFIBEVERSION
Die Bedingungsdirektive $IfIBEVersion
ermöglicht die Überprüfung der aktuelle Version des IBExpert/IBEScripts.
Syntax
{$IfIBEVersion <relational_operator> <version_number>} ... ... <relational_operator> = < | > | =< | >= | = | <> |
<version_number>
- Versionnummerstring ohne Anführungszeichensatz.
Beispiel
{$IfIBEVersion < 2007.7.16.0} execute ibeblock as begin ibec_ShowMessage('Please, update your version of IBExpert/IBEScript!'); end; quit;
$IFNOTEXISTS
($IFNEXISTS
)
Diese überprüfen das Vorhandensein der spezifizierten Datenbankobjekte oder der Daten und führen den folgenden Skriptblock aus, wenn das Objekt oder die Daten nicht in der Datenbank vorhanden sind.
Syntax
1. {$IFNOTEXISTS DOMAIN|TABLE|VIEW|TRIGGER|PROCEDURE|
EXCEPTION|GENERATOR|UDF|ROLE object_name}
2. {$IFNOTEXISTS select_statement}
Beispiel
Das folgende Skript erzeugt eine Tabelle CUSTOMERS
, wenn es diese noch nicht in der Datenbank gibt:
{$IFNOTEXISTS TABLE CUSTOMERS} CREATE TABLE CUSTOMERS ( ID INTEGER NOT NULL PRIMARY KEY, FIRST_NAME VARCHAR(30), MIDDLE_NAME VARCHAR(30), LAST_NAME VARCHAR(30));
Das nächste Skript erzeugt eine Exception:
{$IFNOTEXISTS SELECT RDB$EXCEPTION_NAME FROM RDB$EXCEPTIONS WHERE RDB$EXCEPTION_NAME = 'InvalidUserID'} CREATE EXCEPTION "InvalidUserID" 'Invalid User Identifier!';
$ELSE
Das Umschalten von Ausführung auf Ignorierung eines Skriptteils wird von dem vorherigen {$IFEXISTS}
oder {$IFNOTEXISTS}
und dem folgenden {$ENDIF}
begrenzt.
Syntax
Beispiel
Das folgende Skript überprüft das Vorhandensein der Domäne DOM_BOOL
in der Datenbank. Wenn die Domäne DOM_BOOL
in der Datenbank nicht gefunden wird, wird sie erzeugt. Wenn die Domäne DOM_BOOL
bereits in der Datenbank vorhanden ist, wird sie geändert.
$ENDIF
Beendet die bedingte Ausführung, die von der letzten {$IFEXISTS}
oder {$IFNOTEXISTS}
Direktive initiiert wurde.
Syntax
Beispiel
Das folgende Skript erzeugt einen Generator:
Bedingungsdirektiven - das vollständige Beispiel
Dieses Beispiel illustriert die Verwendung von Bedingungsdirektiven zwecks Upgrade der Datenbank. Angenommen, es gibt eine Anfangsversion Ihrer Datenbank (Version 1):
Das nächste Skript bewirkt ein Upgrade Ihrer Datenbank, egal welcher Version < 4 auf Version 4.
IBExpert DESCRIBE
Anweisung
Die IBExpert spezifische DESCRIBE
-Anweisung wird in die Firebird COMMENT ON
-Anweisung bei der Ausführung von Skripts für Firebird 3 Datenbanken übersetzt, anstelle von UPDATE RDB$xxx
.
DESCRIBE DOMAIN
Hiermit wird eine Domänenbeschreibung geändert.
Syntax
DESCRIBE DOMAIN domain_name 'description';
Argument | Beschreibung |
---|---|
domain_name | Name einer vorhandenen Domäne. |
'description' | String in einfachen Anführungszeichen beinhaltet eine Domänenbeschreibung. |
Beschreibung
DESCRIBE DOMAIN
verändert die Beschreibung einer vorhandenen Domäne domain_name
. Wenn die IBExpert Skriptausführung diese Anweisung ausführt, modifiziert sie den Wert der Spalte RDB$DESCRIPTION
in DB$FIELDS
, verbunden mit dem festgelegten Domänennamen.
Tatsächlich wird folgende Anweisung ausgeführt:
UPDATE RDB$FIELDS SET RDB$DESCRIPTION = :DESC WHERE RDB$FIELD_NAME = 'domain_name'
wobei der Parameter DESC
mit der Beschreibung ausgefüllt wird.
Beispiel
DESCRIBE DOMAIN DOM_BOOL 'Boolean value: 0 - FALSE 1 - TRUE';
DESCRIBE EXCEPTION
Hiermit wird eine Exceptionbeschreibung geändert.
Syntax
DESCRIBE EXCEPTION exception_name 'description';
Argument | Beschreibung |
---|---|
exception_name | Name einer vorhandenen Exception. |
'description' | String in einfachen Anführungszeichen beinhaltet eine neue Beschreibung einer spezifizierten Exception. |
Beschreibung
DESCRIBE EXCEPTION
ändert die Beschreibung einer vorhandenen Exception exception_name
. Wenn die IBExpert Skriptausführung diese Anweisung ausführt, modifiziert sie den Wert der Spalte RDB$DESCRIPTION
in RDB$EXCEPTIONS
, verbunden mit der spezifizierten Exception. Tatsächlich wird folgende Anweisung ausgeführt:
UPDATE RDB$EXCEPTIONS SET RDB$DESCRIPTION = :DESC WHERE RDB$EXCEPTION_NAME = 'exception_name'
wobei der Parameter DESC
mit der ausgefüllt wird.
Beispiel
DESCRIBE EXCEPTION MISSING_USER 'There is no such user!';
DESCRIBE FIELD
Hiermit wird eine Spaltenbeschreibung geändert.
Syntax
DESCRIBE FIELD column_name TABLE table_name 'description';
Argument | Beschreibung |
---|---|
column_name | Name einer vorhandenen Spalte einer Tabelle table_name . |
table | Name einer vorhandenen Tabelle. |
'description' | String in einfachen Anführungszeichen beinhaltet eine Spaltenbeschreibung. |
Beschreibung
DESCRIBE FIELD
ändert die Beschreibung einer vorhandenen Spalte column_name
einer Tabelle table_name
. Wenn die IBExpert Skriptausführung diese Anweisung ausführt, modifiziert sie den Wert der Spalte RDB$DESCRIPTION
in RDB$RELATION_FIELDS
, verbunden mit dem spezifizierten Spaltennamen und den Tabellennamen. Tatsächlich wird folgende Anweisung ausgeführt:
UPDATE RDB$RELATION_FIELDS SET RDB$DESCRIPTION = :DESC WHERE (RDB$RELATION_NAME = 'table_name') AND (RDB$FIELD_NAME = 'column_name')
wobei der Parameter DESC
mit der Beschreibung ausgefüllt wird.
Beispiel
DESCRIBE FIELD FULL_USER_NAME TABLE USERS 'Full user name. Computed, concatenation of FIRST_NAME, MIDDLE_NAME and LAST_NAME';
DESCRIBE FUNCTION
Hiermit wird die UDF-Beschreibung geändert.
Syntax
DESCRIBE FUNCTION function_name 'description';
Argument | Beschreibung |
---|---|
function_name | Name einer vorhandenen benutzerdefinierten Funktion (UDF). |
'description' | String in einfachen Anführungszeichen, beinhaltet eine UDF-Beschreibung. |
Beschreibung
DESCRIBE FUNCTION
ändert die Beschreibung einer vorhandenen benutzerdefinierten Funktion function_name
. Wenn die IBExpert Skriptausführung diese Anweisung ausführt, modifiziert sie den Wert der Spalte RDB$DESCRIPTION
in RDB$FUNCTIONS
, verbunden mit der spezifizierten Funktion. Tatsächlich wird folgende Anweisung ausgeführt:
UPDATE RDB$FUNCTIONS SET RDB$DESCRIPTION = :DESC WHERE RDB$FUNCTION_NAME = 'function_name'
wobei der Parameter DESC
mit der Beschreibung ausgefüllt wird.
Beispiel
DESCRIBE FUNCTION COMPARE_BLOBS 'Vergleicht zwei Blob-Werte und gibt 1 zurück, wenn beide Werte gleich sind. Sonst wird 0 zurückgegeben';
DESCRIBE PARAMETER
Hiermit wird die Beschreibung eines Prozedurparameters geändert.
Syntax
DESCRIBE PARAMETER parameter_name PROCEDURE procedure_name 'description';
Argument | Beschreibung |
---|---|
parameter_name | Name eines vorhandenen Prozedurparameters. |
procedure_name | Name einer vorhandenen Stored Procedure. |
'description' | String in einfachen Anführungszeichen, beinhaltet eine Parameterbeschreibung. |
Beschreibung
DESCRIBE PARAMETER
ändert die Beschreibung eines vorhandenen Parameters parameter_name
einer spezifizierten Stored Procedure procedure_name
. Wenn die IBExpert Skriptausführung diese Anweisung ausführt, modifiziert sie den Wert der Spalte RDB$DESCRIPTION
in RDB$PROCEDURE_PARAMETERS
, verbunden mit dem spezifizierten Parameter und den Prozedurnamen. Tatsächlich wird folgende Anweisung ausgeführt:
UPDATE RDB$PROCEDURE_PARAMETERS SET RDB$DESCRIPTION = :DESC WHERE (RDB$PROCEDURE_NAME = 'procedure_name') AND (RDB$PARAMETER_NAME = 'parameter_name')
wobei der Parameter DESC
mit der Beschreibung ausgefüllt wird.
Beispiel
DESCRIBE PARAMETER USER_ID PROCEDURE CALC_TRAFFIC 'User ID';
DESCRIBE PROCEDURE
Hiermit wird die Beschreibung einer Stored Procedure geändert.
Syntax
DESCRIBE PROCEDURE procedure_name 'description';
Argument | Beschreibung |
---|---|
procedure_name | Name einer vorhandenen Stored Procedure. |
'description' | String in einfachen Anführungszeichen enthält eine Prozedurenbeschreibung. |
Beschreibung
DESCRIBE PROCEDURE
ändert die Beschreibung einer vorhandenen Stored Procedure procedure_name
. Wenn die IBExpert Skriptausführung diese Anweisung ausführt, modifiziert sie den Wert der Spalte RDB$DESCRIPTION
in RDB$PROCEDURES
verbunden mit der festgelegten Prozedur. Tatsächlich wird folgende Anweisung ausgeführt:
UPDATE RDB$PROCEDURES SET RDB$DESCRIPTION = :DESC WHERE RDB$PROCEDURE_NAME = 'procedure_name'
wobei der Parameter DESC
mit der Schreibung ausgefüllt wird.
Beispiel
DESCRIBE PROCEDURE CALC_TRAFFIC 'Berechnet den Summary-Datenverkehr';
DESCRIBE TABLE
Hiermit wird eine Tabellenbeschreibung geändert.
Syntax
DESCRIBE TABLE table_name 'description';
Argument | Beschreibung |
---|---|
table_name | Name einer vorhandenen Tabelle. |
'description' | String in einfachen Anführungszeichen beinhaltet eine Tabellenbeschreibung. |
Beschreibung
DESCRIBE TABLE
ändert die Beschreibung einer vorhandenen Tabelle table_name
. Wenn die IBExpert Skriptausführung diese Anweisung ausführt, modifiziert sie den Wert der Spalte RDB$DESCRIPTION
in RDB$RELATIONS
verbunden mit der festgelegten Tabelle. Tatsächlich wird folgende Anweisung ausgeführt:
UPDATE RDB$RELATIONS SET RDB$DESCRIPTION = :DESC WHERE RDB$RELATION_NAME = 'table_name'
wobei der Parameter DESC
mit der Beschreibung ausgefüllt wird.
Beispiel
DESCRIBE TABLE CUSTOMERS 'Kunden unserer hervorragenden Anwendung';
DESCRIBE TRIGGER
Hiermit wird eine Triggerbeschreibung geändert.
Syntax
DESCRIBE TRIGGER trigger_name 'description';
Argument | Beschreibung |
---|---|
trigger_name | Name eines vorhandenen Triggers. |
'description' | String in einfachen Anführungszeichen beinhaltet eine Triggerbeschreibung. |
Beschreibung
DESCRIBE TRIGGER
ändert die Beschreibung eines vorhandenen Triggers trigger_name
. Wenn die IBExpert Skriptausführung diese Anweisung ausführt, modifiziert sie den Wert der Spalte RDB$DESCRIPTION
of RDB$TRIGGERS
verbunden mit der festgelegten Tabelle. Tatsächlich wird folgende Anweisung ausgeführt:
UPDATE RDB$TRIGGERS SET RDB$DESCRIPTION = :DESC WHERE RDB$TRIGGER_NAME = 'trigger_name'
wobei der Paramter DESC
mit der Beschreibung ausgefüllt wird.
Beispiel
DESCRIBE TRIGGER USERS_BI 'Erzeugt einen einmaligen Identifizierer';
DESCRIBE VIEW
Hiermit wird eine Viewbeschreibung geändert.
Syntax
DESCRIBE VIEW view_name 'description';
Argument | Beschreibung |
---|---|
view_name | Name eines vorhandenen Views. |
'description' | String in einfachen Anführungszeichen enthält eine Viewbeschreibung. |
Beschreibung
DESCRIBE VIEW
ändert die Beschreibung eines vorhandenen Views view_name
. Wenn die IBExpert Skriptausführung diese Anweisung ausführt, modifiziert sie den Wert der Spalte RDB$DESCRIPTION
der RDB$RELATIONS
verbunden mit dem festgelegten View. Tatsächlich wird folgende Anweisung ausgeführt:
UPDATE RDB$RELATIONS SET RDB$DESCRIPTION = :DESC WHERE RDB$RELATION_NAME = 'view_name'
wobei der Parameter DESC
mit der Beschreibung ausgefüllt wird.
Beispiel
DESCRIBE VIEW ALL_USERS 'Einfach alle Benutzer...:)';
INSERTEX
(CSV file import)
Hiermit werden Daten aus einer CSV-Datei in einer Datenbanktabelle importiert.
Syntax
INSERTEX INTO table_name [(columns_list)] FROM CSV file_name [SKIP n] [DELIMITER delimiter_char]
Argument | Beschreibung |
---|---|
table_name | Name einer Tabelle, in die Daten eingegeben werden sollen. |
columns_list | Liste von Spalten, in die Daten eingegeben werden sollen. |
file_name | Name der CSV-Datei, aus der Daten importiert werden sollen. |
SKIP n | Erlaubt das Überspringen der ersten n -Zeilen einer CSV-Datei beim Importieren von Daten. |
DELIMITER delimiter_char | Ermöglicht die Festlegung eines Begrenzers, der zum Parsen der Daten verwendet wird. |
Wenn dieses Argument nicht definiert wird, verwendet IBExpert einen Doppelpunkt als Begrenzer.
Unterstützung des Firebird 3 BOOLEAN
-Datentyps wurde in IBExpert Version 2015.12.21 implementiert.
Beschreibung
INSERTEX
importiert Daten aus einer CSV-Datei in eine Datenbanktabelle. Werte innerhalb einer CSV-Datei müssen mit einem Doppelpunkt CHAR
oder einem anderen CHAR
begrenzt werden. Im letzteren Fall ist es notwendig, einen Begrenzer CHAR
mit dem Argument DELIMITER
festzulegen. Es ist auch möglich, Nicht-Druckzeichen als Begrenzer festzulegen. Zum Beispiel, wenn Werte in Tab-Char (ASCII value $09) definiert sind, können sie als DELIMITER #9
oder DELIMITER $9
definiert werden.
Um unerwünschte Anführungszeichen zu ignorieren, verwenden Sie die Option QUOTECHAR '"'
.
Wenn eine Tabelle table_name
in einer Datenbank fehlt, wird sie automatisch erzeugt. In diesem Fall wird die Anzahl der Spalten in der neu erzeugten Tabelle gleich der Anzahl der Werte in der ersten Zeile der CSV-Datei sein. Spalten werden F_1
, F_2
etc. benannt. Der Datentyp jeder Spalte ist VARCHAR(255)
.
Wenn die columns_list
nicht definiert ist, wird IBExpert die Daten der ersten Spalte einfügen. Ansonsten werden Daten nur in die festgelegten Spalten eingefügt. Es ist möglich, die ersten Zeilen einer CSV-Datei mit dem Argument SKIP
zu überspringen. Dies kann hilfreich sein, wenn die erste Zeile Spaltenüberschriften enthält oder leer ist.
Es ist auch möglich, den Befehl INSERTEX
im SQL Editor zu verwenden.
Beispiele
In folgendem Beispiel gehen wir von der Verwendung von INSERTEX
aus. Angenommen, es gibt eine CSV-Datei mit folgenden Daten, begrenzt mit einem Doppelpunkt:
C:\Mydata.csv ======================================================= ID:FIRST_NAME:LAST_NAME:SEX 1:John:Doe:M 2:Bill:Gates:M 3:Sharon:Stone:F 4:Stephen:King:M =======================================================
Die folgende Anweisung INSERTEX
erzeugt eine Tabelle PEOPLE
(falls diese nicht bereits vorhanden ist) und befüllt diese mit Daten aus C:\Mydata.csv:
INSERTEX INTO PEOPLE FROM CSV 'C:\Mydata.csv' DELIMITER ':';
Die Struktur und Inhalte von PEOPLE
nach dem Datenimport werden unten gezeigt:
F_1 (VARCHAR(255)) | F_2 (VARCHAR(255)) | F_3 (VARCHAR(255)) | F_4 (VARCHAR(255)) |
---|---|---|---|
ID | FIRST_NAME | LAST_NAME | SEX |
1 | John | Doe | M |
2 | Bill | Gates | M |
3 | Sharon | Stone | F |
4 | Stephen | King | M |
Die folgende Anweisung INSERTEX
ist fast identsich mit der oben, aber die erste Zeile der CSV-Datei wurde übersprungen:
INSERTEX INTO PEOPLE FROM CSV 'C:\Mydata.csv' DELIMITER ':' SKIP 1;
Die Struktur und Inhalte der Tabelle PEOPLE
nach dem Import wird unten gezeigt:
F_1 (VARCHAR(255)) | F_2 (VARCHAR(255)) | F_3 (VARCHAR(255)) | F_4 (VARCHAR(255)) |
---|---|---|---|
1 | John | Doe | M |
2 | Bill | Gates | M |
3 | Sharon | Stone | F |
4 | Stephen | King | M |
In dem nächsten Beispiel wird die Tabelle PEOPLE
erst erzeugt und dann nachträglich mit den Daten aus C:\Mydata.csv
bestückt:
CREATE TABLE PEOPLE ( ID INTEGER NOT NULL, FIRST_NAME VARCHAR(30), LAST_NAME VARCHAR(30), SEX CHAR(1)); INSERTEX INTO PEOPLE FROM CSV 'C:\Mydata.csv' DELIMITER ':' SKIP 1;
Unten sehen Sie die Struktur und den Inhalt der Tabelle PEOPLE
nach dem Import:
ID (INTEGER) | FIRST_NAME (VARCHAR(30)) | LAST_NAME (VARCHAR(30)) | SEX (CHAR(1)) |
---|---|---|---|
1 | John | Doe | M |
2 | Bill | Gates | M |
3 | Sharon | Stone | F |
4 | Stephen | King | M |
In dem nächsten Beispiel sind nur drei Spalten (ID
, FIRST_NAME
and LAST_NAME
) betroffen:
CREATE TABLE PEOPLE ( ID INTEGER NOT NULL, FIRST_NAME VARCHAR(30), LAST_NAME VARCHAR(30), SEX CHAR(1)); INSERTEX INTO PEOPLE (ID, FIRST_NAME, LAST_NAME) FROM CSV 'C:\Mydata.csv' DELIMITER ':' SKIP 1;
Die Struktur und Inhalte der Tabelle PEOPLE
nach dem Import sehen Sie unten:
ID (INTEGER) | FIRST_NAME (VARCHAR(30)) | LAST_NAME (VARCHAR(30)) | SEX (CHAR(1)) |
---|---|---|---|
1 | John | Doe | NULL |
2 | Bill | Gates | NULL |
3 | Sharon | Stone | NULL |
4 | Stephen | King | NULL |
OUTPUT
Hiermit wird die Ausgabe der SELECT
-Anweisung zur benannten Datei umgeleitet.
Syntax
OUTPUT [filename [DELIMITER delim_char] [QUOTECHAR 'quote_char'] [TIMEFORMAT 'time_format'] [DATEFORMAT 'date_format'] [DECIMALSEPARATOR 'dec_sep'] [NULLS] [FIELDNAMES] [ASINSERT | AsUpdateOrInsert [INTO table]]
Argument | Beschreibung |
---|---|
filename | Name der Datei, in der die Ausgabe gespeichert werden soll. |
DELIMITER delim_char | Bestimmt ein Begrenzungszeichen, das zur Trennung der Feldwerte verwendet wird. Wenn der Begrenzer nicht definiert wird oder ein leerer String als Begrenzer festgelegt wird, wird der Austausch der Daten in dem Format mit den festen Positionen der Felder durchgeführt. Es ist auch möglich, ein Begrenzungszeichen als Dezimal- oder Hexadezimalwert eines Zeichencodes festzulegen. Um beispielsweise das Tab-Zeichen (ASCII value $09) als Begrenzer zu definieren, definieren Sie einfach DELIMITER #9 oder DELIMITER $9 . |
QUOTECHAR 'quote_char' | Definiert das Zeichen, dass zur Setzung des Strings in Anführungszeichen verwendet wird. Wenn dieses Argument nicht definiert ist oder ein leerer String definiert wurde, werden die Stringwerte nicht in Anführungszeichen gesetzt. |
TIMEFORMAT 'time_format' | Definiert den String, der zur Formatierung der Werte von Zeitfeldern und die Zeitintervalle in Datum/Zeit-Werten. Wenn das Argument nicht definiert wurde, wird der Zeitwert in dem nativen InterBase®-Format ausgegeben (zum Beispiel 17:15:45 ). |
DATEFORMAT 'date_format' | Definiert den String, der zur Formatierung der Werte der Datumsfelder und der Datumsteile des Datum/Zeit-Wertes verwendet wird. Wenn das Argument nicht definiert wird, werden die Datumswerte in dem nativen InterBase®-Format ausgegeben (zum Beispiel 17-FEB-2001 ). |
DECIMALSEPARATOR 'dec_sep' | Definiert den Dezimalseparator, der beim Datenaustausch verwendet wird. Wenn das Argument nicht definiert ist, wird der System-Dezimalseparator verwendet. |
NULLS | Definiert die Ausgabe von NULL -Werten. Wenn das Argument nicht festgelegt ist, werden NULL s als leerer String ausgegeben. Ansonsten werden NULL -Werte als String <null> ausgegeben. |
FIELDNAMES | Wenn dieses Argument festgelegt ist, wird die erste Zeile in der Ergebnisdatei eine Zeile mit Namen von SELECT Spalten sein. |
ASINSERT | Dieses Argument ermöglicht die Ausgabe von Daten als INSERT -Operatorensatz, d.h. um ein gewöhnliches SQL-Skript zu bekommen. |
INTO table | Wird zusammen mit ASINSERT zur Umbenennungen von Tabellennamen in INSERT -Operatoren verwendet. Wenn dieses Argument nicht definiert ist, wird der Name der ersten Tabelle in dem Datensatz verwendet. |
AsUpdateOrInsert | Produziert ein Skript mit der UPDATE OR INSERT -Anweisung. |
OctetsAsHex | Ermöglicht die Extrahierung von CHAR(n) CHARACTER SET OCTETS -Werten in hexadezimalem Format. |
Beschreibung
Der OUTPUT
-Operator dient der Umleitung der Ausgabe der SELECT
-Anweisungen in eine externe Datei. Mithilfe der gegebenen Operatoren ist es möglich, Daten einfach in eine Datei mit Separatoren oder mit festen Spaltenpositionen zu exportieren. OUTPUT
ohne Parameter schließt die Datei, die mit dem vorherigen OUTPUT
-Befehl geöffnet wurde und setzt alle Export-Anpassungen auf die Standardvorgabe zurück.
Wenn ASINSERT
nicht festgelegt wurde, werden Blobfelder beim Datenaustausch ignoriert. Mit ASINSERT
werden sogar Blobwerte exportiert, d.h. es wird eine zusätzliche Datei mit dem Suffix .lob
erzeugt, in der alle Blobfelder gespeichert werden.
Bei der Ausgabe in ein SQL-Skript (ASINSERT
ist definiert), werden DELIMITER
, QUOTECHAR
, NULLS
und FIELDNAMES
Argumente ignoriert.
Seit IBExpert Version 2014.03.16 unterstützt die OUTPUT
Befehl die OctetsAsHex
Option, welche die Extrahierung von CHAR(n) CHARACTER SET OCTETS
-Werten in hexadezimalem Format ermöglicht (siehe Beispiel unten).
Beispiele
Das folgende Skript erzeugt eine MyData.txt
-Datei in dem aktuellen Verzeichnis und gibt die Daten des SELECT
s mit einer festen Spaltenposition dort hinein. Wenn die MyData.txt
-Datei bereits in dem aktuellen Verzeichnis vorhanden ist, werden die Daten dort angehangen.
OUTPUT MyData.txt; SELECT * FROM MY_TABLE; OUTPUT;
In dem nächsten Beispiel werden die Daten in kommaseparierten Werten im CSV-Format exportiert:
OUTPUT 'C:\MyData\MyData.csv' DELIMITER ';' FIELDNAMES QUOTECHAR '"' DECIMALSEPARATOR '.'; SELECT * FROM MY_TABLE; OUTPUT;
In dem folgenden Skript werden die Daten in SQL-Skripte als INSERT
-Operatorensatz exportiert:
OUTPUT 'C:\MyScripts\Data.sql' ASINSERT INTO "MyTable"; SELECT * FROM MY_TABLE; OUTPUT;
Das nächste Beispiel illustriert die Verwendung der OUTPUT
-Anweisung zusammen mit SHELL
.
/* First create a folder C:\MyData*/ SHELL MKDIR C:\MyData; /* Try to delete mydata.csv */ SHELL DEL C:\MyData\mydata.csv; /* Redirect output of SELECTs into mydata.csv */ OUTPUT C:\MyData\mydata.csv DELIMITER ';' DATEFORMAT 'MMMM-dd-yyyy' TIMEFORMAT 'hh:nn:ss.zzz' QUOTECHAR '"'; SELECT * FROM MY_TABLE; /* Close C:\MyData/mydata.csv */ OUTPUT; /* Try to open just created CSV-file with Windows Notepad */ SHELL notepad.exe C:\MyData\mydata.csv NOWAIT; /* Try to open C:\MyData\mydata.csv with the application associated with CSV files */ SHELL C:\MyData\mydata.csv NOWAIT;
Beispiel zur Verwendung der AsUpdateOrInsert
-Option:
OUTPUT 'C:\MyScripts\data.sql' ASUPDATEORINSERT; SELECT * FROM MYTABLE ORDER BY ID; OUTPUT; COMMIT;
Beispiel mit der OctetsAsHex
Option:
OUTPUT 'D:\MyData\data.sql' AS INSERT OctetsAsHex; SELECT * FROM MYTABLE OUTPUT;
Erweiterte Syntax des OUTPUT
-Befehls:
- 1.
output 'E:\data.sql' as insert into mytable commit after 1000; select * from IBE$$TEST_DATA where F_INTEGER < 3000; output;
- 2.
output 'E:\data.sql' as reinsert into mytable commit after 2000; select * from IBE$$TEST_DATA where F_INTEGER < 3000; output;
- 3.
output 'E:\data.sql' as execute procedure myproc; select * from IBE$$TEST_DATA where F_INTEGER < 3000; output;
Die Option ASINSERT
dient der Kompatibilität.
RECONNECT
RECONNECT
schließt die aktuelle Verbindung und erzeugt eine neue mit den gleichen Parametern (Datenbank, Benutzername, Passwort usw.).
Syntax
RECONNECT;
REINSERT
IBExpert hat die Anweisung REINSERT
eingeführt. Direkt auf einen INSERT
folend, können weitere INSERT
s mit neuen Inhalten erfolgen.
SET BLOBFILE
IBExpert verwendet einen Riginalmechanismus zum extrahieren von Werten von Blobfelder in ein Skript. Dies ermöglicht Ihnen die gesamte Datenbank (Metadaten und Daten) in einer Skriptdatei zu speichern udn diese Skripte mit IBExpert auszuführen. Ein kleines Beispiel illustriert die Methode zur Extrahierung von Blobwerten.
Beispielsweise hat Ihre Datenbank eine Tabelle COMMENTS
:
CREATE TABLE COMMENTS ( COMMENT_ID INTEGER NOT NULL PRIMARY KEY, COMMENT_TEXT BLOB SUBTYPE TEXT);
Diese Tabelle enthält drei Datensätze:
COMMENT_ID | COMMENT_TEXT |
---|---|
1 | First comment |
2 | NULL |
3 | Another comment |
Wenn die Option Extract BLOBs nicht aktiviert ist, erhalten Sie folgendes Skript:
CREATE TABLE COMMENTS ( COMMENT_ID INTEGER NOT NULL PRIMARY KEY, COMMENT_TEXT BLOB SUBTYPE TEXT); INSERT INTO COMMENTS (COMMENT_ID) VALUES (1); INSERT INTO COMMENTS (COMMENT_ID) VALUES (2); INSERT INTO COMMENTS (COMMENT_ID) VALUES (3);
... und natürlich verlieren Sie Ihre Kommentare, wenn Sie die Datenbank aus diesem Skript wiederherstellen.
Wenn die Option Extract BLOBs aktiviert ist, erzeugt IBExpert ein ganz anderes Skript:
SET BLOBFILE 'C:\MY_SCRIPTS\RESULT.LOB'; CREATE TABLE COMMENTS ( COMMENT_ID INTEGER NOT NULL PRIMARY KEY, COMMENT_TEXT BLOB SUBTYPE TEXT); INSERT INTO COMMENTS (COMMENT_ID, COMMENT_TEXT) VALUES (1, h0000000_0000000D); INSERT INTO COMMENTS (COMMENT_ID, COMMENT_TEXT) VALUES (2, NULL); INSERT INTO COMMENTS (COMMENT_ID, COMMENT_TEXT) VALUES (3, h000000D_0000000F);
IBExpert erzeugt auch eine spezielle Datei mit dem Suffix .lob
, in der Blobwerte gespeichert werden. In dem aktuellen Beispiel ist result.lob
28 Bytes groß und enthält den ersten commentAnother
Kommentar.
SET BLOBFILE
ist eine spezielle Erweiterung der Skriptsprache, die es der IBExpert Skriptausführung ermöglicht, Skripte auszuführen, die Referenzen zu Blobfelderwerten enthalten.
SET CLIENTLIB
Hiermit wid die Clientbibliothek definiert, die bei der Ausführung eines Skripts verwendet wird.
Syntax
SET CLIENTLIB file_name;
Argument | Description |
---|---|
file_name | Client Bibliothek Dateiname. |
Beschreibung
SET CLIENTLIB
definiert die Clientbibliothek, die bei der Ausführung eines Skripts verwendet wird. DIe Standard-Clientbibliothek ist gds32.dll
.
Beispiel
SET CLIENTLIB 'C:\Program Files\Firebird\Bin\fbclient.dll';
SET LOGIN PROMPT
Implementiert in IBExpert Version 2014.06.17, dieser Befehl aktiviert oder deaktiviert die Login-Aufforderungsdialog, wenn der Benutzername und/oder Passwort innerhalb CONNECT
oder CREATE DATABASE
nicht angegeben wird. Der SET LOGIN PROMPT
-Befehl ist nützlich, wenn Sie Trusted Authentication verwenden und keinen Login-Promptdialog benötigen. Der Standardwert ist ON
.
Beispiel
SET NAMES UTF8; SET LOGIN PROMPT OFF; CONNECT ...; ...
SET PARAMFILE
Die Datei PARAM
ist eine ini
-Datei mit param
-Werten.
Wenn Ihr Skript zum Beispiel einige parameterisierte INSERT/UPDATE/DELETE
-Anweisungen enthält, können SIe Parameterwerte in einer externen Datei definieren (Params-Datei):
param1=12-FEB-2003 param2=John Doe param3=35 ...
Wenn IBEScript eine Abrage mit Parametern findet, sucht es die Werte dieser Parameter in der festgelegten params
-Datei.
SET TRPARAMS
Der Befehl SET TRPARAMS
ermöglicht Ihnen, anstelle der Standardparameter Ihre eigenen Parameter für die Skript-Transaktion festzulegen.
Syntax
SET TRPARAMS '<params>'; where <params> is a list of transaction parameters separated by commas or spaces. Example: SET TRPARAMS 'isc_tpb_concurrency, isc_tpb_nowait';
Bitte beachten Sie: Wenn die aktuelle Transaktion aktiv ist, wird SET TRPARAMS
sie committen und anschließend die Transaktionsparameter ändern.
SHELL
Dies ermöglicht die Ausführug eines Befehls des Betriebssystems.
Syntax
SHELL os_command [NOWAIT];
Argument | Beschreibung |
---|---|
os_command | Ein Befehl des Betriebssystems. |
NOWAIT | Optionales Argument. Wenn dies definiert ist, wird die Ausführung eines Skripts gleich nach der Erzeugung des Prozesses durch Ausführung des Befehls des Betriebssystems fortgeführt und es wird nicht auf dessen Abschluss gewartet. |
Beschreibung
Der Operator SHELL
versucht den Befehl os_command
auszuführen. Wenn NOWAIT
nicht festgelegt wurde, wird die weitere Ausführung eines Skripts vor Abschluss des vom Operator SHELL
erzeugten Prozesses gestoppt. Ansonsten wird die Skriptausführung sofort nach dem BEginn der Ausführung des Befehls os_command
fortgeführt.
Beispiel
Das folgende Skript versucht einen Ordner MyFolder
in dem aktuellen Verzeichnis zu erzeugen:
SHELL mkdir MyFolder;
Das folgende Beispiel zeigt die Verwendung des Befehls SHELL
, um die Notepad.exe
zu starten und die Datei :\MyTexts\Shedule.txt
dort zu laden. Es ist notwendig, hier NOWAIT
zu verwenden, sonst ist es nicht möglich das Skript weiter auszuführen und es ist nicht möglich die Arbeit in IBExpert weiterzuarbeiten, ohne das Notepad geschlossen zu haben.
SHELL "notepad.exe C:\MyTexts\Shedule.txt" NOWAIT;
Das nächste Beispiel illustriert die Verwendung der SHELL
-Anweisung zusammen mit OUTPUT
.
/* First create a folder C:\MyData*/ SHELL MKDIR C:\MyData; /* Try to delete mydata.csv */ />SHELL DEL C:\MyData\mydata.csv; /* Redirect output of SELECTs into mydata.csv */ OUTPUT C:\MyData\mydata.csv DELIMITER ';' DATEFORMAT 'MMMM-dd-yyyy' TIMEFORMAT 'hh:nn:ss.zzz' QUOTECHAR '"'; SELECT * FROM MY_TABLE; /* Close C:\MyData\mydata.csv */ OUTPUT; /* Try to open just created CSV-file with Windows Notepad */ SHELL notepad.exe C:\MyData\mydata.csv NOWAIT; /* Try to open C:\MyData\mydata.csv with the application associated with CSV files */ SHELL C:\MyData\mydata.csv NOWAIT;
Siehe auch:
deutschsprachig:
DB Registrierungsinfo / Log-Dateien / Skriptausführung
Extrahiere Metadaten
IBEScript
SQL Monitor
Stored Procedure
Trigger
englischsprachig:
IBEBLOCK (EXECUTE IBEBLOCK)
zurück zum Seitenanfang
<< Datenanalyse (OLAP) | IBExpert | Kopiere Datenbankobjekt >>