

 Amazon Redshift unterstützt UDFs ab Patch 198 nicht mehr die Erstellung von neuem Python. Das bestehende Python UDFs wird bis zum 30. Juni 2026 weiterhin funktionieren. Weitere Informationen finden Sie im [Blog-Posting](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Beispiele für INSERT
<a name="c_Examples_of_INSERT_30"></a>

Die Tabelle CATEGORY in der Datenbank TICKIT enthält die folgenden Zeilen: 

```
 catid | catgroup |  catname  |                  catdesc
-------+----------+-----------+--------------------------------------------
     1 | Sports   | MLB       | Major League Baseball
     2 | Sports   | NHL       | National Hockey League
     3 | Sports   | NFL       | National Football League
     4 | Sports   | NBA       | National Basketball Association
     5 | Sports   | MLS       | Major League Soccer
     6 | Shows    | Musicals  | Musical theatre
     7 | Shows    | Plays     | All non-musical theatre
     8 | Shows    | Opera     | All opera and light opera
     9 | Concerts | Pop       | All rock and pop music concerts
    10 | Concerts | Jazz      | All jazz singers and bands
    11 | Concerts | Classical | All symphony, concerto, and choir concerts
(11 rows)
```

 Erstellen Sie eine Tabelle CATEGORY\$1STAGE mit einem ähnlichen Schema wie die Tabelle CATEGORY. Definieren Sie jedoch die Standardwerte für die Spalten: 

```
create table category_stage
(catid smallint default 0,
catgroup varchar(10) default 'General',
catname varchar(10) default 'General',
catdesc varchar(50) default 'General');
```

Die folgende INSERT-Anweisung wählt alle Zeilen aus der Tabelle CATEGORY aus und fügt Sie in die Tabelle CATEGORY\$1STAGE ein. 

```
insert into category_stage
(select * from category);
```

Die Klammern, in die die Abfrage eingeschlossen ist, sind optional.

Dieser Befehl fügt eine neue Zeile in die Tabelle CATEGORY\$1STAGE ein, in der für jede Spalte der Reihenfolge nach ein Wert angegeben ist: 

```
insert into category_stage values
(12, 'Concerts', 'Comedy', 'All stand-up comedy performances');
```

Sie können auch eine neue Zeile einfügen, die spezifische Werte und Standardwerte kombiniert: 

```
insert into category_stage values
(13, 'Concerts', 'Other', default);
```

Führen Sie die folgende Abfrage aus, um die eingefügten Zeilen zurückzugeben: 

```
select * from category_stage
where catid in(12,13) order by 1;

 catid | catgroup | catname |             catdesc
-------+----------+---------+----------------------------------
    12 | Concerts | Comedy  | All stand-up comedy performances
    13 | Concerts | Other   | General
(2 rows)
```

In den folgenden Beispielen werden INSERT VALUES-Anweisungen für mehrere Zeilen gezeigt. Im ersten Beispiel werden spezifische CATID-Werte für zwei Zeilen und für die übrigen Spalten in den beiden Zeilen Standardwerte eingefügt. 

```
insert into category_stage values
(14, default, default, default),
(15, default, default, default);

select * from category_stage where catid in(14,15) order by 1;
 catid | catgroup | catname | catdesc
-------+----------+---------+---------
    14 | General  | General | General
    15 | General  | General | General
(2 rows)
```

Im nächsten Beispiel werden drei Zeilen mit verschiedenen Kombinationen aus spezifischen und Standardwerten eingefügt: 

```
insert into category_stage values
(default, default, default, default),
(20, default, 'Country', default),
(21, 'Concerts', 'Rock', default);

select * from category_stage where catid in(0,20,21) order by 1;
 catid | catgroup | catname | catdesc
-------+----------+---------+---------
     0 | General  | General | General
    20 | General  | Country | General
    21 | Concerts | Rock    | General
(3 rows)
```

Der erste Satz von VALUES in diesem Beispiel führt zu den gleichen Ergebnissen wie die Angabe von DEFAULT VALUES für eine INSERT-Anweisung für eine einzelne Zeile.

In den folgenden Beispielen wird das INSERT-Verhalten gezeigt, wenn eine Tabelle eine IDENTITY-Spalte besitzt. Erstellen Sie zunächst eine neue Version der Tabelle CATEGORY und fügen Sie dann Zeilen aus CATEGORY ein: 

```
create table category_ident
(catid int identity not null,
catgroup varchar(10) default 'General',
catname varchar(10) default 'General',
catdesc varchar(50) default 'General');


insert into category_ident(catgroup,catname,catdesc)
select catgroup,catname,catdesc from category;
```

Beachten Sie, dass Sie in die Spalte CATID IDENTITY keine spezifischen ganzzahligen Werte einfügen können. Die Werte in der IDENTITY-Spalte werden automatisch generiert.

Im folgenden Beispiel wird gezeigt, dass Unterabfragen nicht als Ausdrücke in INSERT VALUES-Anweisungen für mehrere Zeilen verwendet werden können: 

```
insert into category(catid) values
((select max(catid)+1 from category)),
((select max(catid)+2 from category));

ERROR: can't use subqueries in multi-row VALUES
```

Das folgende Beispiel zeigt eine Einfügung in eine temporäre Tabelle, die mithilfe der `WITH SELECT`-Klausel mit Daten aus der `venue`-Tabelle gefüllt wird. Weitere Informationen zur Tabelle `venue` finden Sie unter [Beispieldatenbank](c_sampledb.md).

Erstellen Sie zunächst die temporäre Tabelle `#venuetemp`.

```
CREATE TABLE #venuetemp AS SELECT * FROM venue;
```

Listen Sie die Zeilen in der `#venuetemp`-Tabelle auf.

```
SELECT * FROM #venuetemp ORDER BY venueid;
         
venueid | venuename                | venuecity  | venuestate| venueseats
--------+--------------------------+------------+-----------+------------
1        Toyota Park                Bridgeview   IL          0	
2        Columbus Crew Stadium      Columbus     OH          0	
3        RFK Stadium                Washington   DC          0	
4        CommunityAmerica Ballpark  Kansas City  KS          0	
5        Gillette Stadium           Foxborough   MA          68756	
...
```

Fügen Sie mithilfe der `WITH SELECT`-Klausel 10 doppelte Zeilen in die `#venuetemp`-Tabelle ein.

```
INSERT INTO #venuetemp (WITH venuecopy AS (SELECT * FROM venue) SELECT * FROM venuecopy ORDER BY 1 LIMIT 10);
```

Listen Sie die Zeilen in der `#venuetemp`-Tabelle auf.

```
SELECT * FROM #venuetemp ORDER BY venueid;
         
venueid | venuename                | venuecity  | venuestate| venueseats
--------+--------------------------+------------+-----------+------------
1        Toyota Park                Bridgeview   IL          0	
1        Toyota Park                Bridgeview   IL          0	
2        Columbus Crew Stadium      Columbus     OH          0	
2        Columbus Crew Stadium      Columbus     OH          0	
3        RFK Stadium                Washington   DC          0
3        RFK Stadium                Washington   DC          0	
4        CommunityAmerica Ballpark  Kansas City  KS          0	
4        CommunityAmerica Ballpark  Kansas City  KS          0	
5        Gillette Stadium           Foxborough   MA          68756
5        Gillette Stadium           Foxborough   MA          68756
...
```