

 Amazon Redshift dejará de admitir la creación de nuevas UDF de Python a partir del parche 198. Las UDF de Python existentes seguirán funcionando hasta el 30 de junio de 2026. Para obtener más información, consulte la [publicación del blog](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

# Ejemplos de INSERT
<a name="c_Examples_of_INSERT_30"></a>

La tabla CATEGORY de la base de datos TICKIT contiene las siguientes filas: 

```
 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)
```

 Cree una tabla CATEGORY\$1STAGE con un esquema similar a la tabla CATEGORY, pero defina valores predeterminados para las columnas: 

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

La siguiente instrucción INSERT selecciona todas las filas de la tabla CATEGORY y las inserta en la tabla CATEGORY\$1STAGE. 

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

Los paréntesis alrededor de la consulta son opcionales.

Este comando inserta una nueva fila en la tabla CATEGORY\$1STAGE con un valor especificado para cada columna en orden: 

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

También puede insertar una nueva fila que combine valores específicos y valores predeterminados: 

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

Ejecute la siguiente consulta para devolver las filas insertadas: 

```
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)
```

En los siguientes ejemplos se muestran algunas instrucciones INSERT VALUES de varias filas. El primer ejemplo inserta valores CATID específicos para dos filas y los valores predeterminados para las otras columnas de ambas filas. 

```
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)
```

El próximo ejemplo inserta tres filas con diversas combinaciones de valores predeterminados y específicos: 

```
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)
```

El primer conjunto de VALUES en este ejemplo produce los mismos resultados que especificar DEFAULT VALUES para una instrucción INSERT de una sola fila.

En los siguientes ejemplos se muestra un comportamiento INSERT cuando una tabla tiene una columna IDENTITY. Primero, cree una nueva versión de la tabla CATEGORY, luego inserte filas en la tabla desde CATEGORY: 

```
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;
```

Tenga en cuenta que no puede insertar valores enteros específicos en la columna CATID IDENTITY. Los valores de la columna IDENTITY se generan automáticamente.

En el siguiente ejemplo, se demuestra que las subconsultas no pueden utilizarse como expresiones en instrucciones INSERT VALUES de varias filas: 

```
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
```

En el siguiente ejemplo se muestra una inserción en una tabla temporal rellena con datos de la tabla `venue` mediante la cláusula `WITH SELECT`. Para obtener más información sobre la tabla `venue`, consulte [Base de datos de muestra](c_sampledb.md).

Primero, cree la tabla temporal `#venuetemp`.

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

Muestre las filas de la tabla `#venuetemp`.

```
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	
...
```

Inserte 10 filas duplicadas en la tabla `#venuetemp` mediante la cláusula `WITH SELECT`.

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

Muestre las filas de la tabla `#venuetemp`.

```
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
...
```