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.
INSERT INTO <table> [ ( <col>[,<col>…] ) ]
{ DEFAULT VALUES | VALUES [ ( <expression>[,<expression>…] ) | SELECT <query> }
| 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. |
El comando INSERT tiene las siguientes salidas:
| Salida | Descripción |
|---|---|
| insert 0 <n> | El comando se ha ejecutado correctamente. El símbolo <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. |
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.
A continuación, se proporciona un uso de muestra.
MYDB.SCH1(USER)=> INSERT INTO films VALUES
('UA502','Bananas',105,'1971-07-13','Comedy',INTERVAL '82 minute');
MYDB.SCH1(USER)=> INSERT INTO films (code, title, did, date_prod,
kind) VALUES ('T_601', 'Yojimbo', 106, DATE '1961-06-16', 'Drama');
MYDB.SCH1(USER)=> INSERT INTO distributors (name) VALUES
('British Lion');
Como solo se especifica el nombre de columna, la columna omitida se asigna a su valor predeterminado.MYDB.SCH1(USER)=> INSERT INTO films SELECT * FROM tmp;