|
|
| PLSQL | Table sample | Top |
|
--Sample Table CREATE TABLE EMPLOYEE ( Empl_Id NUMBER(6), First_Name VARCHAR2(50), Last_Name VARCHAR2(50), DOB DATE, Dept_Id NUMBER(3)) TABLESPACE HR_Section;
CREATE TABLE Department( Dept_Id NUMBER(3), Dept_Name VARCHAR2(50), Empl_Number NUMBER(2)) TABLESPACE HR_Section;
CREATE TABLE PayRoll Empl_Id NUMBER(6), Salary NUMBER(6), Tax NUMBER(6), Vacation NUMBER(2)) TABLESPACE HR_Section;
|
|
| PLSQL | Basic insert | Top |
|
--BASIC INSERT Syntax: INSERT INTO [TableName] ([ColumnName]) VALUES ([Value]);
--INSERT SELECT Syntax: INSERT INTO [TableName] [SELECT];
|
|
| PLSQL | Record insert | Top |
|
--RECORD INSERT
INSERT INTO [TableName] VALUES [RecordName];
Ex: CREATE TABLE ItEMPLOYEE AS SELECT Empl_Id, First_Name , Last_Name FROM EMPLOYEE WHERE Dept_Id =1001;
DECLARE ItGuy ItEMPLOYEE%ROWTYPE;
ItGuy.Empl_Id := 4521; ItGuy.First_Name := 'LAMBERT'; ItGuy.Last_Name := 'JONES;
INSERT INTO ItEMPLOYEE VALUES ItGuy;
|
|
| PLSQL | Insert when | Top |
|
--INSERT WHEN Syntax: INSERT WHEN ([Condition]) THEN INTO [TableName] ([ColumnName]) VALUES ([Values]) ELSE INTO [TableName] ([ColumnName]) VALUES ([Values]) SELECT [ColumnName] FROM [TableName]; Ex: INSERT WHEN (Dept_Id=1001) THEN INTO ItEMPLOYEE (Empl_Id, First_Name , Last_Name) VALUES (Empl_Id, First_Name , Last_Name) WHEN (deptno=1002) THEN INTO AdminEMPLOYEE (Empl_Id, First_Name , Last_Name) VALUES (Empl_Id, First_Name , Last_Name) ELSE INTO TempEMPLOYEE (Empl_Id, First_Name , Last_Name) VALUES (Empl_Id, First_Name , Last_Name) SELECT Empl_Id, First_Name , Last_Name FROM EMPLOYEE;
|
|
| PLSQL | Insert With Check Option | Top |
|
--INSERT WITH CHECK OPTION
Using the WITH CHECK OPTION ensure that Oracle prohibits any changes to the row not matching the condition.
INSERT INTO ([SELECT] WITH CHECK OPTION) VALUES ([Value]); Ex: INSERT INTO (SELECT deptno, dname, loc FROM Department WHERE Dept_Id=1001 WITH CHECK OPTION) VALUES (1011, 'Development', 10);
|
|
| PLSQL | Insert select | Top |
|
--inserting Into SELECT
Syntax: INSERT INTO ([SELECT]) VALUES ([Value]);
INSERT INTO (SELECT Empl_Id ,Salary ,Tax ,Vacation FROM PayRoll) VALUES (14521, 60000, 750, 32 ) ;
--INSERT Create Table
Syntax: CREATE TABLE [TableName] AS [SELECT];
|
|
| PLSQL | Insert With Returning | Top |
|
--INSERT With Returning
Syntax: INSERT INTO [TableName] ([ColumnsName]) VALUES [Values] RETURNING [ColumnName] INTO [VariableName];
Ex: EMPLOYEEIdSequence here is a Sequence for EMPLOYEE ids.
INSERT INTO EMPLOYEE (Empl_Id, First_Name , Last_Name) VALUES (EMPLOYEEIdSequence.NEXTVAL, 'Thomas', 'Dulley' ) RETURNING Empl_Id INTO Return_val;
|
|
|
|