You are on page 1of 8

CHAPTER 8,9

____________
CREATE
_________
CREATE TABLE MU100405(
EMPLOYEE_ID
NUMBER(4),
LAST_NAME
VARCHAR2(20),
SALARY
NUMBER(10,2),
GRADE
CHAR(1),
HIRE_DATE
DATE
DEPARTMENT_ID NUMBER(4));

DEFAULT SYSDATE,

SELECT * FROM USER_TABLES;


SELECT * FROM USER_TABLES
WHERE TABLE_NAME='MU100405';
DESC

MU100405;

INSERT
_________
SYNTAX
__________
INSERT INTO TABLE_NAME(COLUMN,COLUMN,...................)
VALUES( VALUE,
VALUE,.......................);
INSERT INTO MU100405(EMPLOYEE_ID,LAST_NAME,SALARY,GRADE,HIRE_DATE,DEPARTMENT_ID
)
VALUES( 100,
'KING',
14000,
'A',
'12-JAN-10', 10
);
INSERT INTO MU100405 VALUES(100,'KING',12000,'A','12-JAN-10',10);
SELECT * FROM MU100405;
NULL
_______
INSERT INTO MU100405(EMPLOYEE_ID,LAST_NAME,SALARY,GRADE,HIRE_DATE,DEPARTMENT_ID
)
VALUES( 100,
'KING',
14000,
'A',
'12-JAN-10', NULL
); --EPLICIT
INSERT INTO MU100405(EMPLOYEE_ID,LAST_NAME,SALARY,GRADE,HIRE_DATE)
VALUES( 100,
'KING',
14000,
'A',
'12-JAN-10' ); -- IMPLICIT
DEFAULT
____________
INSERT INTO MU100405(EMPLOYEE_ID,LAST_NAME,SALARY,GRADE,HIRE_DATE,DEPARTMENT_ID
)
VALUES( 100,
'KING',
14000,
'A',
DEFAULT,10
); --EXPLICIT

INSERT INTO MU100405(EMPLOYEE_ID,LAST_NAME,SALARY,GRADE,DEPARTMENT_ID)


VALUES( 100,
'KING',
14000,
'A',
10
); --IMPLICIT
INSERT INTO MU100405(EMPLOYEE_ID,LAST_NAME,SALARY,GRADE,HIRE_DATE,DEPARTMENT_ID
)
VALUES( 100,
'KING',
14000,
'A',
TO_DATE('JAN-12-10','MON-DD-RR'),10 );
INSERT
)
SELECT
FROM
WHERE

INTO MU100405(EMPLOYEE_ID,LAST_NAME,SALARY,GRADE,HIRE_DATE,DEPARTMENT_ID
EMPLOYEE_ID,LAST_NAME,SALARY,NULL,HIRE_DATE,DEPARTMENT_ID
EMPLOYEES
JOB_ID='SA_REP';

UPDATE
_______
SYNTAX
_________
UPDATE TABLE_NAME
SET
COLUMN=VALUE,[COLUMN=VALUE,............]
[WHERE CONDITION(S)];
UPDATE MU100405
SET
SALARY=24000
WHERE EMPLOYEE_ID=100;
UPDATE MU100405
SET
SALARY=12000,DEPARTMENT_ID=20
WHERE EMPLOYEE_ID=150;
UPDATE MU100405
SET
DEPARTMENT_ID=(SELECT
FROM
WHERE
WHERE DEPARTMENT_ID=80;

DEPARTMENT_ID
DEPARTMENTS
DEPARTMENT_NAME='IT')

DELETE
_________
SYNTAX
_______
DELETE [FROM] TABLE_NAME
[WHERE CONDITION(S)];
DELETE FROM
MU100405
WHERE LAST_NAME='KING';
DELETE FROM
MU100405
WHERE EMPLOYEE_ID IN(150,151);
DELETE MU100405
WHERE DEPARTMENT_ID=(SELECT
FROM
WHERE

DEPARTMENT_ID
DEPARTMENTS
DEPARTMENT_NAME='IT');

MERGE
________
CREATE
AS
FROM
WHERE

TABLE COPY_EMP
SELECT EMPLOYEE_ID,LAST_NAME,SALARY,DEPARTMENT_ID
EMPLOYEES
DEPARTMENT_ID IN(10,30,40,50);

CREATE
AS
FROM
WHERE

TABLE COPY_EMP1
SELECT EMPLOYEE_ID,LAST_NAME,SALARY,DEPARTMENT_ID
EMPLOYEES
1=2;

MERGE INTO
COPY_EMP1
C1
USING
COPY_EMP
C
ON
(C.EMPLOYEE_ID=C1.EMPLOYEE_ID)
WHEN
MATCHED THEN
UPDATE SET
C1.LAST_NAME
=
C.LAST_NAME,
C1.SALARY
=
C.SALARY,
C1.DEPARTMENT_ID=
C.DEPARTMENT_ID
WHEN
NOT MATCHED THEN
INSERT VALUES(
C.EMPLOYEE_ID,C.LAST_NAME,C.SALARY,C.DEPARTMENT_ID);
TCL
______
UPDATE COPY_EMP
SET
SALARY=3000
WHERE EMPLOYEE_ID=199;
ROLLBACK;
SELECT * FROM COPY_EMP;
UPDATE COPY_EMP
SET
SALARY=3000
WHERE EMPLOYEE_ID=199;
COMMIT;
SELECT * FROM COPY_EMP;
ROLLBACK;
SELECT * FROM COPY_EMP;
DELETE COPY_EMP
WHERE EMPLOYEE_ID=199;
SAVEPOINT A;
UPDATE COPY_EMP
SET
SALARY=5000
WHERE EMPLOYEE_ID=200;
SAVEPOINT B;

DELETE FROM COPY_EMP


WHERE EMPLOYEE_ID=203;
ROLLBACK TO B;
ROLLBACK ;
SELECT * FROM COPY_EMP;
CH-9
______________________
CREATE
DATE1
DATE2
DATE3
DATE4

TABLE DATE_TABLE(
DATE,
TIMESTAMP(2),
TIMESTAMP(2) WITH TIME ZONE,
TIMESTAMP(2) WITH LOCAL TIME ZONE);

INSERT INTO

DATE_TABLE VALUES(SYSDATE,SYSDATE,SYSDATE,SYSDATE);

SELECT * FROM DATE_TABLE;


CREATE TABLE LOAN(
START_DATE
DATE,
INTER_DATE
INTERVAL YEAR TO MONTH);
INSERT INTO LOAN(START_DATE,INTER_DATE)
VALUES(SYSDATE,INTERVAL '10' YEAR);
INSERT INTO LOAN(START_DATE,INTER_DATE)
VALUES(SYSDATE,INTERVAL '10-0' YEAR TO MONTH);
INSERT INTO LOAN(START_DATE,INTER_DATE)
VALUES(SYSDATE,INTERVAL '10-5' YEAR TO MONTH);
INSERT INTO LOAN(START_DATE,INTER_DATE)
VALUES(SYSDATE,INTERVAL '10' MONTH);
SELECT START_DATE,INTER_DATE,START_DATE+INTER_DATE MAT_DATE
FROM
LOAN;
CREATE TABLE APPOINTMENT(
START_DATE
TIMESTAMP,
APP_DATE
INTERVAL DAY(2) TO SECOND(2));
INSERT INTO

APPOINTMENT(START_DATE,APP_DATE)
VALUES(SYSDATE, INTERVAL '10' DAY);

INSERT INTO

APPOINTMENT(START_DATE,APP_DATE)
VALUES(SYSDATE, INTERVAL '10 20' DAY TO HOUR);

INSERT INTO

APPOINTMENT(START_DATE,APP_DATE)
VALUES(SYSDATE, INTERVAL '10 20:30' DAY TO MINUTE);

INSERT INTO

APPOINTMENT(START_DATE,APP_DATE)
VALUES(SYSDATE, INTERVAL '10 20:30:30' DAY TO second);

INSERT INTO

APPOINTMENT(START_DATE,APP_DATE)
VALUES(SYSDATE, INTERVAL '10 20:30:30.00' DAY TO SECOND);

SELECT START_DATE,APP_DATE,START_DATE+APP_DATE
FROM
APPOINTMENT;
CONSTRAINT
_____________
COLUMN-LEVEL
_________________
CREATE TABLE MU100405(
EMPLOYEE_ID
NUMBER
CONSTRAINT E_ID_PK PRIMARY KEY,
LAST_NAME
VARCHAR2(20)
CONSTRAINT L_NN
NOT NULL,
SALARY
NUMBER(10,2)
CONSTRAINT SAL_CK CHECK(SALARY>0),
EMAIL_ID
VARCHAR2(50)
CONSTRAINT E_ID_UK UNIQUE,
DEPARTMENT_ID NUMBER(4));
CREATE TABLE MU100405(
EMPLOYEE_ID
NUMBER
PRIMARY KEY,
LAST_NAME
VARCHAR2(20)
NOT NULL,
SALARY
NUMBER(10,2)
CHECK(SALARY>0),
EMAIL_ID
VARCHAR2(50)
UNIQUE,
DEPARTMENT_ID NUMBER(4));
TABLE-LEVEL
_____________
CREATE TABLE MU100405(
EMPLOYEE_ID
NUMBER ,
LAST_NAME
VARCHAR2(20)
CONSTRAINT L_NN
SALARY
NUMBER(10,2),
EMAIL_ID
VARCHAR2(50),
DEPARTMENT_ID NUMBER(4),
CONSTRAINT E_ID_PK PRIMARY KEY(EMPLOYEE_ID),
CONSTRAINT SAL_CK CHECK(SALARY>0),
CONSTRAINT E_ID_UK UNIQUE(EMAIL_ID));

NOT NULL,

SELECT *
FROM
USER_CONSTRAINTS;
SELECT *
FROM
USER_CONSTRAINTS
WHERE TABLE_NAME='MU100405';
INSERT INTO MU100405(EMPLOYEE_ID,LAST_NAME,SALARY,EMAIL_ID,DEPARTMENT_ID)
VALUES(100,
'KING1',
25000, 'A1@GMAIL
.COM', 20
);
CREATE TABLE DEPT100405(
DEPARTMENT_ID NUMBER,
DEPARTMENT_NAME VARCHAR2(20),
CONSTRAINT D_ID_PK PRIMARY KEY(DEPARTMENT_ID));
CREATE TABLE MU100405(
EMPLOYEE_ID
NUMBER ,
LAST_NAME
VARCHAR2(20)

CONSTRAINT L_NN

NOT NULL,

SALARY
EMAIL_ID
MANAGER_ID

NUMBER(10,2),
VARCHAR2(50),
NUMBER(4) CONSTRAINT M_ID_FK
REFERENCES MU100405(employee_id),
DEPARTMENT_ID NUMBER(4),
CONSTRAINT E_ID_PK PRIMARY KEY(EMPLOYEE_ID),
CONSTRAINT SAL_CK CHECK(SALARY>0),
CONSTRAINT E_ID_UK UNIQUE(EMAIL_ID),
CONSTRAINT D_ID_FK FOREIGN KEY(DEPARTMENT_ID)
REFERENCES DEPT100405(DEPARTMENT_ID));
INSERT INTO DEPT100405 VALUES(20,'ADMIN');
INSERT INTO MU100405(EMPLOYEE_ID,LAST_NAME,SALARY,EMAIL_ID,DEPARTMENT_ID)
VALUES(100,
'KING1',
25000, 'A1@GMAIL
.COM', 20
);
DELETE DEPT100405
WHERE DEPARTMENT_ID=20;
DROP TABLE DEPT100405;
CREATE TABLE MU100405(
EMPLOYEE_ID
NUMBER ,
LAST_NAME
VARCHAR2(20)
CONSTRAINT L_NN
NOT NULL,
SALARY
NUMBER(10,2),
EMAIL_ID
VARCHAR2(50),
MANAGER_ID
NUMBER(4) CONSTRAINT M_ID_FK
REFERENCES MU100405(employee_id),
DEPARTMENT_ID NUMBER(4),
CONSTRAINT E_ID_PK PRIMARY KEY(EMPLOYEE_ID),
CONSTRAINT SAL_CK CHECK(SALARY>0),
CONSTRAINT E_ID_UK UNIQUE(EMAIL_ID),
CONSTRAINT D_ID_FK FOREIGN KEY(DEPARTMENT_ID)
REFERENCES DEPT100405(DEPARTMENT_ID) ON DELETE CASCADE);
CREATE TABLE MU100405(
EMPLOYEE_ID
NUMBER ,
LAST_NAME
VARCHAR2(20)
CONSTRAINT L_NN
NOT NULL,
SALARY
NUMBER(10,2),
EMAIL_ID
VARCHAR2(50),
MANAGER_ID
NUMBER(4) CONSTRAINT M_ID_FK
REFERENCES MU100405(employee_id),
DEPARTMENT_ID NUMBER(4),
CONSTRAINT E_ID_PK PRIMARY KEY(EMPLOYEE_ID),
CONSTRAINT SAL_CK CHECK(SALARY>0),
CONSTRAINT E_ID_UK UNIQUE(EMAIL_ID),
CONSTRAINT D_ID_FK FOREIGN KEY(DEPARTMENT_ID)
REFERENCES DEPT100405(DEPARTMENT_ID) ON DELETE SET NULL);
DELETE DEPT100405
WHERE DEPARTMENT_ID=20;
SELECT * FROM DEPT100405;
SELECT * FROM MU100405;

You might also like