8.1.THAO TÂC DỮ LIỆU TRONG TABLE
8.1.1. Thím mới dòng dữ liệu
Để chỉn một row văo table dùng lệnh INSERT. Cú phâp:
INSERT INTO tablename ([column, column, ...]) VALUES (value, value ...);
Ví dụ:
INSERT INTO dept (depno, dname, loc) VALUES (50, 'MARKETING', 'SAN JOSE')
Chĩp dữ liệu từ table khâc
INSERT INTO table [(column, column...)] SELECT select_list
FROM table(s)
Ví dụ:
INSERT INTO emp_tmp (ename, sal)
SELECT ename, sal FROM emp WHERE sal > 1000
Bắt đầu từ phiín bản Oracle 9i, ta có thể thím mới dòng dữ liệu vă đặt giâ trị mặc định thông qua từ khoâ
DEFALT
Ví dụ:
INSERT INTO EMP (EMPNO, ENAME, DEPTNO) VALUES (8000,’MIKE’,DEFAULT);
Oracle 9i còn cho phĩp thực hiện lệnh INSERT trín đồng thời nhiều table khâc nhau, chỉ sử dụng một cđu lệnh DML.
Ví dụ:
Lệnh INSERT không điều kiện (UNCONDITIONAL)
INSERT ALL
INTO T1 (C1, C2, ...) VALUES (C1, C2, ...) INTO T2 (C1, C2, ...) VALUES (C1, C2, ...) SELECT C1, C2, ... FROM T9;
Lệnh INSERT không điều kiện (CONDITIONAL)
INSERT [ALL|FIRST]
WHEN c1 = 1 THEN INTO T1 (C1, C2, ...) VALUES (C1, C2, ...) WHEN c1 = 2 THEN INTO T2 (C1, C2, ...) VALUES (C1, C2, ...) WHEN c2 = 3 THEN INTO T3 (C1, C2, ...) VALUES (C1, C2, ...) SELECT C1, C2, ... FROM T9;
Oracle cơ bản - SQL vă PL/SQL
FIRST: insert cho cđu lệnh đầu tiín có giâ trị điều kiện đúng ALL: insert cho mọi cđu lệnh có giâ trị điều kiện lă đúng
8.1.2. Cập nhật dòng dữ liệu
Để chỉnh sửa dữ liệu dùng lệnh UPDATE. Cú phâp:
UPDATE table [alias]
SET column [,column...] = [expr, subquery] [WHERE condition]
Ví dụ 1:
UPDATE emp
SET job = 'SALEMAN', hiredate = sysdate, sal = sal * 1.1 WHERE ename = 'SCOTT';
Ví dụ 2:
UPDATE emp
SET comm = (SELECT comm FROM commission C WHERE C.empno = emp.empno) WHERE empno IN (SELECT empno FROM commission);
Ví dụ 3:
UPDATE emp a SET deptno =
(SELECT deptno FROM dept WHERE loc = 'BOSTON'), (sal, comm) = (SELECT 1.1*AVG(sal),1.5*AVG(comm)
FROM emp b
WHERE a.deptno = b.deptno) WHERE deptno IN
(SELECT deptno FROM dept
WHERE loc = 'DALLAS' OR loc = 'DETROIT');
Ta cũng có thể sử dụng mệnh đề DEFAULT trong cđu lệnh cập nhật dữ liệu Ví dụ:
UPDATE EMP SET COMM = DEFAULT;
Chú thích:
- Cập nhật câc nhđn viín ở Dallas hoặc Detroit
- Thay DEPTNO của câc nhđn viín năy bằng DEPTNO của Boston - Thay lương mỗi nhđn viín bằng lương trung bình của bộ phận * 1.1 - Thay commission của