INSERT INTO table [ ( column [, ...] ) ] { VALUES ( expression [, ...] ) | SELECT query } |
INSERT permite la inserci�n de nuevas filas en una clase o una tabla. Se puede insertar una fila a la vez o varias como el resultado de una consulta. Las columnas en el resultado pueden ser listadas en cualquier orden.
Cada columna que no est� presente en la lista de origen ser� insertada usando el valor por defecto, que puede ser tanto un valor por defecto declarado DEFAULT o bien NULL. Postgres rechazar� la nueva columna si se inserta un NULL en una columna declarada como NOT NULL.
Si la expresi�n para cada columna no es del tipo de datos correcto, se intentar� una coerci�n de tipos automaticamente.
Debe tener privilegios de inserci�n en la tabla para a�adir en ella, asi como privilegios de selecci�n en cualquier tabla especificada en una clausula WHERE.
Inserta una fila en la tabla films:
INSERT INTO films VALUES ('UA502','Bananas',105,'1971-07-13','Comedy',INTERVAL '82 minute'); |
En este segundo ejemplo la columna date_prod se omite y entonces tendr� el valor por defecto de NULL:
INSERT INTO films (code, title, did, date_prod, kind) VALUES ('T_601', 'Yojimbo', 106, DATE '1961-06-16', 'Drama'); |
Inserta una fila simple en la tabla distributors; note que solo se especifica la columna name , de forma que la columna omitida did sera asignada con su valor por defecto.
INSERT INTO distributors (name) VALUES ('British Lion'); |
Inserta varias filas en la tabla films desde la tabla tmp:
INSERT INTO films SELECT * FROM tmp; |
Inserci�n en arrays (vea The PostgreSQL User's Guide para mayor informaci�n sobre los arrays):
-- Crea un tablero de juego vacio de 3x3 para cruz y raya -- (todos estos querys generan el mismo efecto) INSERT INTO tictactoe (game, board[1:3][1:3]) VALUES (1,'{{"","",""},{},{"",""}}'); INSERT INTO tictactoe (game, board[3][3]) VALUES (2,'{}'); INSERT INTO tictactoe (game, board) VALUES (3,'{{,,},{,,},{,,}}'); |
INSERT es totalmente compatible con SQL92. Las posibles limitaciones en las caracteristicas de la clausula query estan documentadas en SELECT.