Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (Deutsch) » SQL Anywhere Server - SQL-Benutzerhandbuch » Daten abfragen und ändern » Daten hinzufügen, ändern und löschen » Daten mit INSERT hinzufügen

 

Mit SELECT neue Zeilen einfügen

Um Werte aus anderen Tabellen in eine Tabelle einzufügen, können Sie eine SELECT-Klausel in der INSERT-Anweisung benutzen. Die SELECT-Klausel kann Werte in einige oder alle Spalten einer Zeile einfügen.

Werte nur für einige Spalten einzufügen kann sich dann als sinnvoll erweisen, wenn Sie einige Werte aus einer bestehenden Tabelle übernehmen wollen. Danach können Sie die Anweisung UPDATE verwenden, um die Werte für die anderen Spalten einzufügen.

Bevor Sie Werte für einige, nicht aber alle Spalten einer Tabelle einfügen, müssen Sie sicherstellen, dass für die Spalten, in die kein Wert eingefügt wird, ein Standardwert besteht oder NULL definiert wurde. Andernfalls wird ein Fehler gemeldet.

Wenn Sie Zeilen aus einer Tabelle in eine andere einfügen, müssen die beiden Tabellen kompatible Strukturen haben—das bedeutet, dass die passenden Spalten dieselben Datentypen aufweisen oder mit Datentypen definiert sein müssen, zwischen denen SQL Anywhere automatisch konvertieren kann.

Beispiel

Wenn die Spalten in beiden Tabellen in derselben Reihenfolge sind, brauchen Sie in keiner Tabellen Spaltennamen anzugeben. Beispiel: Angenommen, Sie haben eine Tabelle namens "NewProducts", die dasselbe Schema wie die Products-Tabelle hat und einige Zeilen mit Produktinformationen enthält, die Sie der Products-Tabelle hinzufügen wollen. Sie könnten die folgende Anweisung ausführen:

INSERT Products
SELECT *
FROM NewProducts;
Daten in einen Teil der Spalten einfügen

Sie können die Anweisung SELECT verwenden, um genauso wie mit der Klausel VALUES Daten in eine Teilmenge der Spalten einer Zeile einzufügen. Geben Sie einfach in der INSERT-Anweisung die Spalten an, in die Sie Daten einfügen wollen.

Daten aus derselben Tabelle einfügen

Sie können Daten in eine Tabelle unter Benutzung von anderen Daten in derselben Tabelle einfügen. Der Vorgang umfasst im Wesentlichen das Kopieren eines Teils oder der Gesamtheit einer Zeile.

Beispiel: Sie können basierend auf vorhandenen Produkten neue Produkte in die Tabelle "Products" einfügen. Die folgende Anweisung fügt den neuen Artikel "Extra Large Tee Shirts" (aus der Modellreihe "Tank Top", "V-neck" und "Crew Neck") in die Tabelle "Products" ein. Die Identifizierungsnummer ist um 30 größer als die bestehende T-Shirt-Größe:

INSERT INTO Products
SELECT ID + 30, Name, Description,
    'Extra large', Color, 50, UnitPrice, NULL
FROM Products
WHERE Name = 'Tee Shirt';