INSERTAR
Utilice el comando INSERT para insertar nuevas filas en una tabla. Puede insertar una sola fila cada vez o varias filas como resultado de una consulta. Puede listar las columnas de la lista de destino en cualquier orden.
El sistema inserta un valor nulo o predeterminado declarado para las columnas no presentes en la lista de destino. El sistema rechaza la nueva columna si inserta un null en la columna declarada no null.
Si la expresión para cada columna no es el tipo de datos correcto, el sistema intenta una conversión forzada del tipo automática.
Sintaxis
INSERT INTO <table> [ ( <col>[,<col>…] ) ]
{ DEFAULT VALUES | VALUES [ ( <expression>[,<expression>…] ) | SELECT <query> }Entradas
| Entrada | Descripción |
|---|---|
| <table> | Nombre de la tabla en la que se deben insertar filas. |
| <col> | Nombre de una columna de una tabla. |
| DEFAULT VALUES | Llene todas las columnas con valores nulos o con valores que se hayan especificado al crear la tabla mediante las cláusulas predeterminadas. |
| <expression> | Una expresión o un valor válido que se asigna a una columna. |
| <query> | Una consulta. |
Resultados
El comando INSERT tiene las siguientes salidas:
| Resultado | Descripción |
|---|---|
| insert 0 <n> | El comando se ha ejecutado correctamente. La cabecera HTTP<n>representa el número de filas que se han insertado. |
| Error: Reload allow NULLs mismatch <table> <col> | El comando ha intentado insertar datos desde la columna indicada de una tabla externa en la tabla en el destino. Sin embargo, los valores nulos de las dos columnas no coinciden. Deben ser iguales para ambas tablas. Se ha encontrado un error en la operación de inserción. |
| Error: Large table size limit on <part>, SPU <Default ¶ Font>. | La operación de inserción causaría que la tabla superara su tamaño máximo. Este tamaño es 64 GB, a no ser que esté habilitado un soporte de tabla mayor. |
Privilegios
Es necesario ser el usuario administrativo, el propietario de la tabla o el propietario de la base de datos o el esquema donde está definida la tabla, o la cuenta debe tener el privilegio Insert para la tabla o para la clase de objeto Table. También de debe tener el privilegio Select para cualquier tabla especificada en una cláusula WHERE.
Uso
Se proporciona el siguiente uso de muestra.
- Insertar una sola fila en la tabla
films:MYDB.SCH1(USER)=> INSERT INTO films VALUES ('UA502','Bananas',105,'1971-07-13','Comedy',INTERVAL '82 minute'); - En este ejemplo, se omite la última columna /(
len, que indica la duración de la película) y, por lo tanto, esa columna asume el valor predeterminado de null:MYDB.SCH1(USER)=> INSERT INTO films (code, title, did, date_prod, kind) VALUES ('T_601', 'Yojimbo', 106, DATE '1961-06-16', 'Drama'); - Insertar una sola fila en la tabla
distributors:
Como solo se especifica el nombre de columna, la columna omitida se asigna a su valor predeterminado.MYDB.SCH1(USER)=> INSERT INTO distributors (name) VALUES ('British Lion'); - Insertar todas las filas de la tabla
tmpen la tablafilms:MYDB.SCH1(USER)=> INSERT INTO films SELECT * FROM tmp;