Anfang des Inhaltsbereichs

Vorgehensweisen sql_execute Dokument im Navigationsbaum lokalisieren

Verwendung

Sie verwenden ein DBM-Kommando, um eine SQL-Anweisung an die Datenbankinstanz zu übermitteln.

Anders als bei Verwendung des DBM-Kommandos sql_executenicewollen Sie sich in der Antwort so viele Datensätze wie möglich anzeigen lassen. Die Menge der übertragenen Daten ist begrenzt durch die Größe des vom DBM-Server übertragenen Antwortpakets.

Wenn es sich um eine SELECT-Anweisung handelt, dann werden vom System die Datensätze der Antwort angezeigt. Wenn aufgrund der begrenzten Größe des Antwortpakets noch nicht alle Daten angezeigt werden können, dann verwenden Sie anschließend das DBM-Kommando sql_fetch, um ein weiteres Antwortpaket mit Datensätzen zu übertragen. Dies ist jedoch nur dann möglich, wenn Sie sich noch in derselben Datenbanksitzung befinden.

Wenn Sie andere SQL-Anweisungen eingeben, wird die Ausführung der Anweisung mit einer OK-Meldung bestätigt.

Bei der Ausführung dieses DBM-Kommandos wird implizit eine Sitzung mit der Datenbankinstanz eröffnet und nach Ausführung des Kommandos wieder beendet. Diese Datenbanksitzung wird im AUTOCOMMIT-Modus eröffnet, d. h. jede eingegebene SQL-Anweisung wird automatisch mit einer COMMIT-Anweisung abgeschlossen.

Wenn eine Folge von SQL-Anweisungen ausgeführt werden soll und diese nur von einem bestimmten Datenbankbenutzer ausgeführt werden können, dann empfiehlt es sich, zunächst eine SQL-Sitzung mit den Daten dieses Datenbankbenutzers zu eröffnen (Siehe: sql_connect), alle SQL-Anweisungen auszuführen und anschließend entweder die SQL-Sitzung (Siehe: sql_release) oder den Database Manager CLI zu beenden.

Weitere Informationen zu SQL-Anweisungen finden Sie in den Dokumentationen StrukturlinkSQL-Referenzhandbuch und StrukturlinkSQL-Tutorial.

Siehe auch:

Tutorial Datenbankverwaltung, StrukturlinkBetriebsmodi im Database Manager CLI, StrukturlinkAusführen von Datenbankanweisungen

Konzepte des Datenbanksystems, StrukturlinkSQL

Voraussetzungen

     Sie arbeiten im Sitzungsmodus des Database Manager CLI.

     Sie haben die Serverberechtigung AccessSQL.

Syntax

sql_execute [<user_type>] <statement>

<user_type> : = user-type=<value>

Optionen

Option

Beschreibung

<statement>

SQL-Anweisung

<dabase_user>

Name des Datenbankbenutzers

<database_user_password>

Kennwort des Datenbankbenutzers

user-type=<value>

Benutzertyp, mögliche Werte sind:

DBM: erster DBM-Benutzer

DBA: Datenbanksystemadministrator

SAP: spezieller Datenbankbenutzer im Zusammenhang mit SAP-Anwendungen

Antwort

OK

[END|CONTINUE]

[<record>

<record>

...]

Werte für die Felder der Antwort

Wert

Beschreibung

END

Die Antwort wurde vollständig ausgegeben.

CONTINUE

Es liegen noch weitere Datensätze vor, die aufgrund der begrenzten Größe des Antwortpakets nicht übertragen wurden.

<record>

Ergebnisdaten der SQL-Anweisung

Die Felder in einem Datensatz sind durch Semikolon voneinander getrennt.
Die Ausgabe von Zeichenketten erfolgt in einfachen Anführungszeichen.

 

Im Fehlerfall siehe Antwortformat.

Beispiel

...

Aufrufen des Database Manager CLI im Sitzungsmodus, Anmelden als Benutzer OLEG mit dem Kennwort MONDAY, Herstellen der Verbindung zur Datenbankinstanz DEMODB, Anzeigen der Spalten der Tabelle USERS mit den dazugehörigen Kommentaren:

>dbmcli -u OLEG,MONDAY -d DEMODB

dbmcli on DEMODB>sql_execute SELECT columnname, comment FROM domain.columns WHERE tablename = 'USERS'

OK

END

'OWNER';(long)

'GROUPNAME';(long)

'USERNAME';(long)

'USERMODE';(long)

'CONNECTMODE';(long)

'MAXTIMEOUT';(long)

'COSTWARNING';(long)

'COSTLIMIT';(long)

'DEFAULTCODE';(long)

'CREATEDATE';(long)

'CREATETIME';(long)

'ALTERDATE';(long)

'ALTERTIME';(long)

'PWCREADATE';(long)

'PWCREATIME';(long)

'SERVERDB';(long)

'SERVERNODE';(long)

'USER_ID';(long)

'ISREPLICATIONUSER';(long)

'COMMENT';(long)

 

Ende des Inhaltsbereichs