Professional Documents
Culture Documents
Manipulating Data
INSERT
INSERT INTO
INTO table
table [(column
[(column [,
[, column...])]
column...])]
VALUES
VALUES (value
(value [,
[, value...]);
value...]);
1 row created.
4 rows created.
UPDATE copy_emp
SET department_id = (SELECT department_id
FROM employees
WHERE employee_id = 100)
WHERE job_id = (SELECT job_id
FROM employees
WHERE employee_id = 200);
1 row updated.
UPDATE
UPDATE employees
employees
SET
SET department_id
department_id == 55
55
WHERE
WHERE department_id
department_id == 110;
110;
UPDATE
UPDATE employees
employees
**
ERROR
ERROR at
at line
line 1:
1:
ORA-02291:
ORA-02291: integrity
integrity constraint
constraint (HR.EMP_DEPT_FK)
(HR.EMP_DEPT_FK)
violated
violated -- parent
parent key
key not
not found
found
DELETE
DELETE [FROM]
[FROM] table
table
[WHERE
[WHERE condition];
condition];
DELETE
DELETE FROM
FROM departments
departments
WHERE
WHERE department_id
department_id == 60;
60;
DELETE
DELETE FROM
FROM departments
departments
**
ERROR
ERROR at
at line
line 1:
1:
ORA-02292:
ORA-02292: integrity
integrity constraint
constraint (HR.EMP_DEPT_FK)
(HR.EMP_DEPT_FK)
violated
violated -- child
child record
record found
found
INSERT
INSERT INTO
INTO
(SELECT
(SELECT employee_id,
employee_id, last_name,
last_name,
email,
email, hire_date,
hire_date, job_id,
job_id, salary,
salary,
department_id
department_id
FROM
FROM employees
employees
WHERE
WHERE department_id
department_id == 50)
50)
VALUES
VALUES (99999,
(99999, 'Taylor',
'Taylor', 'DTAYLOR',
'DTAYLOR',
TO_DATE('07-JUN-99',
TO_DATE('07-JUN-99', 'DD-MON-RR'),
'DD-MON-RR'),
'ST_CLERK',
'ST_CLERK', 5000,
5000, 50);
50);
11 row
row created.
created.
•SELECT
Verify
SELECT the results last_name,
employee_id,
employee_id, last_name, email,
email, hire_date,
hire_date,
job_id,
job_id, salary,
salary, department_id
department_id
FROM
FROM employees
employees
WHERE
WHERE department_id
department_id == 50;
50;
INSERT
INSERT INTO
INTO (SELECT
(SELECT employee_id,
employee_id, last_name,
last_name, email,
email,
hire_date, job_id, salary
hire_date, job_id, salary
FROM
FROM employees
employees
WHERE
WHERE department_id == 50
department_id 50 WITH
WITH CHECK
CHECK OPTION)
OPTION)
VALUES (99998, 'Smith', 'JSMITH',
VALUES (99998, 'Smith', 'JSMITH',
TO_DATE('07-JUN-99',
TO_DATE('07-JUN-99', 'DD-MON-RR'),
'DD-MON-RR'),
'ST_CLERK', 5000);
'ST_CLERK', 5000);
INSERT INTO
INSERT INTO
**
ERROR
ERROR at
at line
line 1:
1:
ORA-01402:
ORA-01402: view WITH
view WITH CHECK
CHECK OPTION
OPTION where-clause
where-clause violation
violation
MERGE
MERGE INTO
INTO table_name
table_name table_alias
table_alias
USING
USING (table|view|sub_query)
(table|view|sub_query) alias
alias
ON
ON (join
(join condition)
condition)
WHEN
WHEN MATCHED
MATCHED THEN
THEN
UPDATE
UPDATE SET
SET
col1
col1 == col_val1,
col_val1,
col2
col2 == col2_val
col2_val
WHEN
WHEN NOT
NOT MATCHED
MATCHED THEN
THEN
INSERT
INSERT (column_list)
(column_list)
VALUES
VALUES (column_values);
(column_values);
SELECT
SELECT **
FROM
FROM COPY_EMP;
COPY_EMP;
no
no rows
rows selected
selected
MERGE
MERGE INTO
INTO copy_emp
copy_emp cc
USING
USING employees
employees ee
ON
ON (c.employee_id
(c.employee_id == e.employee_id)
e.employee_id)
WHEN MATCHED THEN
WHEN MATCHED THEN
UPDATE
UPDATE SET
SET
...
...
WHEN
WHEN NOT MATCHED
NOT MATCHED THEN
THEN
INSERT VALUES...;
INSERT VALUES...;
SELECT
SELECT **
FROM
FROM COPY_EMP;
COPY_EMP;
20
20 rows
rows selected.
selected.
DELETE
SAVEPOINT A
INSERT
UPDATE
SAVEPOINT B
INSERT
INSERT INTO
INTO departments
departments
VALUES
VALUES (290,
(290, 'Corporate
'Corporate Tax',
Tax', NULL,
NULL, 1700);
1700);
11 row
row inserted.
inserted.
User A
UPDATE employees Data
SET salary = 7000 blocks
WHERE last_name = 'Goyal';
Rollback
segments
changed
SELECT * and
FROM userA.employees; Read unchanged
data
consistent
image before
change
“old” data
User B
Statement Description