Hướng dẫn SQL này cung cấp giải thích, ví dụ cho câu lệnh Cập nhật trong oracle
Câu lệnh cập nhật trong oracle được sử dụng để cập nhật các hàng hiện có trong bảng. Nó là một câu lệnh DML. Ngôn ngữ thao tác dữ liệu đứng DML. Chúng ta có thể sử dụng câu lệnh này để cập nhật các hàng cụ thể, tập hợp các hàng hoặc tất cả các hàng trong bảng.
Cú pháp được cung cấp bên dưới
Bảng :Đây là tên bảng cần được cập nhật
cột :đó là một cột hoặc nhiều cột trong bảng cần được cập nhật giá trị
:Đây là giá trị của cột được cập nhật. chúng ta cũng có thể sử dụng truy vấn con để nhận giá trị đó
Điều kiện :Đây là điều kiện quyết định những gì tất cả các hàng sẽ được cập nhật. Nó có thể bao gồm tên cột, truy vấn con biểu thức và toán tử so sánh
Điểm quan trọng
1) Câu lệnh cập nhật sau khi hoàn thành sẽ hiển thị số lượng hàng được cập nhật trừ khi bạn đã tắt phản hồi đã đặt
2) Nếu không có hàng nào được cập nhật, nó sẽ hiển thị 0 hàng được cập nhật
3) Các thay đổi được thực hiện là hiển thị trong phiên của bạn và nó không hiển thị với phiên khác trong cơ sở dữ liệu oracle
4) Bạn cần thực hiện “commit;” tuyên bố để thực hiện các thay đổi vĩnh viễn trong cơ sở dữ liệu hoặc "khôi phục;" để khôi phục các thay đổi đã thực hiện
5) trước tiên bạn nên thực hiện cùng điều kiện where với select để tìm ra số hàng và số hàng sẽ được cập nhật trước khi phát hành câu lệnh cập nhật
6) Nếu bạn đang nhắm mục tiêu cho các hàng đơn, hãy sử dụng khóa chính trong oracle nếu có thể
SQL> select * from emp where EMPNO=7844; EMPNO ENAME JOB MGR HIREDATE SAL COMM ---------- ---------- --------- ---------- --------------- ---------- ---------- DEPTNO ---------- 7844 TURNER SALESMAN 7698 08-SEP-81 1500 0 30 SQL> update emp set SAL=15000 where EMPNO=7844; 1 row updated. SQL> select * from emp where EMPNO=7844; EMPNO ENAME JOB MGR HIREDATE SAL COMM ---------- ---------- --------- ---------- --------------- ---------- ---------- DEPTNO ---------- 7844 TURNER SALESMAN 7698 08-SEP-81 15000 0 30 SQL> commit; Commit complete.
Cập nhật câu lệnh bằng truy vấn con
Chúng tôi cũng có thể sử dụng truy vấn con bên trong câu lệnh cập nhật.
SQL> select * from emp; EMPNO ENAME JOB MGR HIREDATE SAL COMM ---------- ---------- --------- ---------- --------------- ---------- ---------- DEPTNO ---------- 7902 FORD ANALYST 7566 03-DEC-81 3000 20 7934 MILLER CLERK 7782 23-JAN-82 1300 10 2 rows selected. SQL> update emp set sal=(select sal from emp where empno=7934) where EMPNO=7902; 1 row updated. SQL> select * from emp; EMPNO ENAME JOB MGR HIREDATE SAL COMM ---------- ---------- --------- ---------- --------------- ---------- ---------- DEPTNO ---------- 7902 FORD ANALYST 7566 03-DEC-81 1300 20 7934 MILLER CLERK 7782 23-JAN-82 1300 10 2 rows selected. SQL> commit; Commit complete.
Cập nhật câu lệnh không có mệnh đề where
Bạn có thể cập nhật tất cả các hàng trong bảng bằng cách không chỉ định bất kỳ mệnh đề where trong câu lệnh cập nhật
Update FND_USER set end_date='1-JUN-2018' ;
Câu lệnh trên sẽ cập nhật tất cả các hàng trong bảng FND_USER
Cập nhật câu lệnh với nhiều cột
Bạn có thể chỉ định nhiều cột trong cùng một câu lệnh cập nhật
Update FND_USER set end_date='1-JUN-2018' , password='' ;
Câu lệnh trên sẽ cập nhật tất cả các hàng trong bảng FND_USER với end_date được chỉ định và vô hiệu tất cả mật khẩu
Các bài viết có liên quan
Câu lệnh INSERT trong Oracle
Câu lệnh xóa khỏi bảng trong Oracle
Ví dụ về tạo bảng trong Oracle
Bảng thay đổi trong Oracle
bảng thay đổi thêm cột oracle
Tài liệu Oracle về Cập nhật