INSERT INTO table [ ( column [, ...] ) ]
- { DEFAULT VALUES | VALUES ( expression [, ...] ) | SELECT query }
+ { DEFAULT VALUES | VALUES ( { expression | DEFAULT } [, ...] ) | SELECT query }
-
+
Inputs
+
+ DEFAULT
+
+ This column will be filled in by the column DEFAULT clause, or NULL if
+ a default is not available.
+
+
+
+
query
-
+
Outputs
- Each column not present in the target list will be inserted
+ Each column not present in the target list will be inserted
using a default value, either a declared DEFAULT value
or NULL.
PostgreSQL will reject the new
column if a NULL is inserted into a column declared NOT NULL.
+ In the third example, we use the DEFAULT values for the date columns
+ rather than specifying an entry.
+
+INSERT INTO films VALUES
+ ('UA502','Bananas',105,DEFAULT,'Comedy',INTERVAL '82 minute');
+INSERT INTO films (code, title, did, date_prod, kind)
+ VALUES ('T_601', 'Yojimbo', 106, DEFAULT, 'Drama');
+
+
+
Insert a single row into table distributors; note that
only column name is specified, so the omitted
Insert into arrays (refer to the
PostgreSQL User's Guide for further
information about arrays):
-
+
-- Create an empty 3x3 gameboard for noughts-and-crosses
-- (all of these queries create the same board attribute)
Compatibility
-
+
SQL92
INSERT is fully compatible with
SQL92.
- Possible limitations in features of the
+ Possible limitations in features of the
query
clause are documented for
.