Verwenden Sie eine Variation der INSERT-Anweisung und eine globale temporäre Tabelle, um die Importdaten so anzuordnen, dass sie in die Tabelle passen.
Voraussetzungen
Wenn Sie eine globale temporäre Tabelle erstellen möchten, müssen Sie eines der folgenden Systemprivilegien haben:
Welche Privilegien für das Importieren (Laden) von Daten erforderlich sind, hängt von den Einstellungen der Datenbankoption -gl ab sowie von der Datenquelle, aus der Sie die Daten importieren. Weitere Hinweise zu den für das Laden der Daten erforderlichen Privilegien finden Sie unter der LOAD TABLE-Anweisung.
Um die INSERT-Anweisung verwenden zu können, müssen Sie Eigentümer der Tabelle sein oder eines der folgenden Privilegien haben:
Wenn die ON EXISTING UPDATE-Klausel angegeben wird, müssen Sie außerdem das UPDATE ANY TABLE-Systemprivileg oder das UPDATE-Privileg für die Tabelle haben.
Erstellen Sie im Fensterausschnitt SQL-Anweisungen eine globale temporäre Tabelle, deren Struktur zur Struktur der Eingabedatei passt.
Sie können die Anweisung CREATE TABLE verwenden, um die globale temporäre Tabelle zu erstellen.
Benutzen Sie die Anweisung LOAD TABLE, um Ihre Daten in die globale temporäre Tabelle einzulesen.
Wenn Sie eine Datenbankverbindung schließen, verschwinden die Daten in der globalen temporären Tabelle. Die Tabellendefinition bleibt jedoch erhalten. Sie können sie das nächste Mal verwenden, wenn Sie Verbindung zur Datenbank herstellen.
Mit der INSERT-Anweisung und einer SELECT-Klausel extrahieren und fassen Sie die Daten aus der temporären Tabelle zusammen und kopieren die Daten in eine oder mehrere permanente Tabellen der Datenbank.
Beispiel
Im Folgenden finden Sie ein Beispiel für die oben angegebenen Schritte.
CREATE GLOBAL TEMPORARY TABLE TempProducts ( ID integer NOT NULL, Name char(15) NOT NULL, Description char(30) NOT NULL, Size char(18) NOT NULL, Color char(18) NOT NULL, Quantity integer NOT NULL, UnitPrice numeric(15,2) NOT NULL, CONSTRAINT ProductsKey PRIMARY KEY (ID) ) ON COMMIT PRESERVE ROWS; LOAD TABLE TempProducts FROM 'C:\\ServerTemp\\newProducts.csv' SKIP 1; INSERT INTO Products WITH AUTO NAME (SELECT Name, Description, ID, Size, Color, Quantity, UnitPrice * 1.25 AS UnitPrice FROM TempProducts); |
Der Preis der Artikel in der globalen temporären Tabelle werden um 25 % nach oben korrigiert, bevor die Zeilen in die Produkttabelle eingefügt werden.
![]() |
Kommentieren Sie diese Seite in DocCommentXchange.
|
Copyright © 2013, SAP AG oder ein SAP-Konzernunternehmen. - SAP Sybase SQL Anywhere 16.0 |