Chương 8 CÂC LỆNH THAO TÂC DỮ LIỆU 8.1.THAO TÂC DỮ LIỆU TRONG TABLE

Một phần của tài liệu SQL và PL/SQL Cơ bản docx (Trang 67 - 68)

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

Một phần của tài liệu SQL và PL/SQL Cơ bản docx (Trang 67 - 68)

Tải bản đầy đủ (PDF)

(106 trang)