INSERT Statement
Add data to a table, view, or snapshot.
Syntax:
INSERT [hint] INTO [schema.] table [@dblink] [t_alias] (column, column,...)
What_to_insert
INSERT [hint] INTO [schema.] table
[[SUB]PARTITION (ptn_name)] [t_alias] (column, column,...)
What_to_insert
INSERT [hint] INTO subquery
WITH [READ ONLY | CHECK OPTION [CONSTRAINT constraint] ]
[t_alias] (column, column,...)
What_to_insert
Key:
What_to_insert:
VALUES ([expr, expr...])
[RETURNING expr, expr... INTO host_variable|plsql_variable]
or
SubQuery [RETURNING expr, expr... INTO host_variable|plsql_variable]
In the syntax above "table" can be replaced with "view" or "snapshot".
The VALUES keyword is required when directly inserting data, rather than using a subquery.
Examples:
CREATE TABLE People( surname VARCHAR2(25), firstname VARCHAR2(25) );
INSERT INTO People (surname,firstname)
VALUES('Smith','John');
INSERT INTO People VALUES('McKay','Alice');
INSERT INTO People(firstname, surname) VALUES('Jill','Jones');
INSERT INTO People(firstname, surname) (select emp_first, emp_surname from Employees);
Copy specific columns (and rows) from one table to another:
CREATE TABLE Postable_Table
(p_code VARCHAR2(6) NOT NULL,
p_description VARCHAR2(30),
p_tax_code VARCHAR2(2));
INSERT INTO Postable_Table
SELECT distinct
cs_cost_centre,'extracted data',NULL
FROM
Cost_Centre_Table,
WHERE cs_postable='Y';
"When debugging, novices insert corrective code; experts remove defective code" - Richard Pattis
Related Commands:
DELETE
EXPLAIN PLAN
SELECT
TRUNCATE
UPDATE
Related Views:
DBA_SNAPSHOTS ALL_SNAPSHOTS USER_SNAPSHOTS
DBA_ALL_TABLES ALL_ALL_TABLES USER_ALL_TABLES
DBA_TABLES ALL_TABLES USER_TABLES
TAB
DBA_VIEWS ALL_VIEWS USER_VIEWS
DICTIONARY
DICT_COLUMNS
Equivalent SQL Server command: