Chúng ta có thể loại bỏ ràng buộc trong oracle bằng cách sử dụng lệnh bảng thay đổi. chúng ta có thể loại bỏ ràng buộc chính, khóa ngoại, kiểm tra, không null và duy nhất bằng cùng một lệnh

Bạn đang xem: oracle sql loại bỏ ràng buộc

Ràng buộc là cách để thực thi các quy tắc toàn vẹn dữ liệu trong cơ sở dữ liệu Oracle. Nếu chúng ta không yêu cầu ràng buộc tại bất kỳ thời điểm nào, chúng ta có thể loại bỏ ràng buộc trong Oracle bằng cách sử dụng lệnh bảng thay đổi. Hãy kiểm tra việc bổ sung ràng buộc và sau đó loại bỏ chúng

Tạo bảng Oracle và tạo Ràng buộc

 SQL & gt; TẠO BẢNG "DEPT"
 ("DEPTNO" NUMBER (2,0),
 "DNAME" VARCHAR2 (14),
 VARCHAR2 "LOC" (13),
  KHÓA CHÍNH "PK_DEPT" CONSTRAINT ("DEPTNO")
  );
 Đã tạo bảng.

 SQL & gt; TẠO BẢNG "EMP"
   ("NHÂN VIÊN" NUMBER (4,0),
   "ENAME" VARCHAR2 (10) Không rỗng,
   "JOB" VARCHAR2 (9) không rỗng,
   NUMBER "MGR" (4,0),
   NGÀY "HIREDATE",
   SỐ "BÁN HÀNG" (7,2),
   SỐ "COMM" (7,2),
   NUMBER "DEPTNO" (2,0),
    KHÓA CHÍNH "PK_EMP" CONSTRAINT ("EMPNO"),
    KHÓA NGOẠI LỆ "FK_DEPTNO" CONSTRAINT ("DEPTNO")
    TÀI LIỆU THAM KHẢO "DEPT" ("DEPTNO") BẬT);
 Đã tạo bảng.

 SQL & gt; col CONSTRAINT_NAME định dạng a20
 SQL & gt; col INDEX_NAME định dạng a20
 SQL & gt; col CONSTRAINT_TYPE định dạng a5
 SQL & gt; chọn CONSTRAINT_NAME, INDEX_NAME, CONSTRAINT_TYPE từ user_constraints trong đó TABLE_NAME = '& amp; 1';
 Nhập giá trị cho 1: EMP
 cũ 1: chọn CONSTRAINT_NAME, INDEX_NAME, CONSTRAINT_TYPE từ user_constraints trong đó TABLE_NAME = '& amp; 1'
 mới 1: chọn CONSTRAINT_NAME, INDEX_NAME, CONSTRAINT_TYPE từ user_constraints trong đó TABLE_NAME = 'EMP' 

Ở đây chúng tôi đã tạo hai bảng và tạo các ràng buộc cho khóa chính, khóa ngoại, kiểm tra ràng buộc. Bây giờ chúng tôi đã tạo các ràng buộc , hãy xem cách chúng ta có thể loại bỏ ràng buộc trong oracle
Việc loại bỏ ràng buộc có thể được thực hiện đơn giản bằng cách

 thay đổi bảng & lt; tên bảng & gt; thả ràng buộc & lt; tên ràng buộc & gt ;; 

Chúng ta có thể loại bỏ ràng buộc khóa chính, ràng buộc khóa duy nhất, ràng buộc khóa ngoại, ràng buộc kiểm tra và ràng buộc không null bằng cách sử dụng lệnh tương tự ở trên. Trước tiên, chúng ta chỉ cần tìm tất cả các ràng buộc trên bảng và sau đó thả chúng tùy theo nhu cầu.

Xem Thêm  How to Download an Entire YouTube Channel - download tinymce

drop ràng buộc khóa ngoại oracle

 SQL & gt; thay đổi ràng buộc thả bảng emp FK_DEPTNO;
 Bảng đã thay đổi.

SQL & gt; col CONSTRAINT_NAME định dạng a20
SQL & gt; col INDEX_NAME định dạng a20
SQL & gt; col CONSTRAINT_TYPE định dạng a5
SQL & gt; chọn CONSTRAINT_NAME, INDEX_NAME, CONSTRAINT_TYPE từ user_constraints trong đó TABLE_NAME = '& amp; 1';
Nhập giá trị cho 1: EMP
cũ 1: chọn CONSTRAINT_NAME, INDEX_NAME, CONSTRAINT_TYPE từ user_constraints trong đó TABLE_NAME = '& amp; 1'
mới 1: chọn CONSTRAINT_NAME, INDEX_NAME, CONSTRAINT_TYPE từ user_constraints trong đó TABLE_NAME = 'EMP' 

thả ràng buộc khóa chính vào oracle

 SQL & gt; thay đổi bảng emp thả ràng buộc PK_EMP;
 Bảng đã thay đổi 

Chúng tôi cũng có thể loại bỏ ràng buộc Khóa chính bằng cách chỉ định tên cột

 SQL & gt; thay đổi bảng trống khóa chính;
Bảng đã thay đổi 

Lưu ý quan trọng
Bạn không thể bỏ khóa chính hoặc ràng buộc khóa duy nhất là một phần của ràng buộc toàn vẹn tham chiếu mà không bỏ khóa ngoại. Để loại bỏ khóa tham chiếu và khóa ngoại cùng nhau, hãy sử dụng mệnh đề CASCADE. Nếu bạn bỏ qua CASCADE, thì Cơ sở dữ liệu Oracle sẽ không bỏ khóa chính hoặc ràng buộc duy nhất nếu bất kỳ khóa ngoại nào tham chiếu đến nó.

Thả Không null hoặc kiểm tra các ràng buộc

 SQL & gt; desc emp 

Bây giờ đã loại bỏ các ràng buộc Not Null

 SQL & gt; thay đổi ràng buộc thả bảng emp SYS_C00541121; 
Đã thay đổi bảng.
 SQL & gt; desc emp 

thả oracle ràng buộc duy nhất

 SQL & gt; TẠO BẢNG TECH_TABLE (
Đặt tên VARCHAR (50) NOT NULL,
Địa chỉ VARCHAR (15),
CONSTRAINT NAME_UK UNIQUE (Tên));

Đã tạo bảng. 

Bây giờ bảng đã được tạo, chúng ta có thể loại bỏ ràng buộc bằng cách sử dụng câu lệnh dưới đây

 SQL & gt; ALTER TABLE TECH_TABLE DROP CONSTRAINT NAME_UK;
Đã thay đổi bảng. 

Chúng tôi có thể loại bỏ ràng buộc duy nhất bằng cách chỉ định tên cột cũng

 ALTER TABLE TECH_TABLE DROP UNIQUE (NAME)
Bảng đã thay đổi.

Bỏ tất cả ràng buộc trong Oracle

Bạn cũng có thể loại bỏ tất cả các ràng buộc trong bảng bằng quy trình dưới đây

 begin
cho r in (chọn tên_bảng, tên_kết_chính
từ user_constraints
trong đó table_name = '& amp; 1')
vòng
thực hiện ngay lập tức 'bảng thay đổi' || r.table_name
|| ' thả ràng buộc '|| r.constraint_name;
kết thúc vòng lặp;
chấm dứt;

HOẶC

chọn 'bảng thay đổi' || chủ sở hữu || '.' || tên_bảng || " thả ràng buộc '|| CONSTRAINT_NAME ||' ; ' từ dba_constraints
nơi chủ sở hữu = '' và table_name = '
'; 

Chúng tôi học cách loại bỏ ràng buộc trong oracle. Ràng buộc có thể là khóa chính, khóa duy nhất, khóa ngoại và ràng buộc kiểm tra.
Tôi hy vọng bạn thích bài viết này và nó sẽ giúp ích cho bạn trong công việc hàng ngày. Vui lòng cho tôi biết phản hồi về vấn đề này.

Đồng thời Đọc thêm
thả khóa chính trong oracle : khóa chính trong oracle xác định duy nhất hàng trong bàn. Nó không được rỗng & amp; có thể được tạo tại thời điểm tạo bảng hoặc sau khi tạo bảng.
Ràng buộc khóa ngoại : Khóa ngoại trong Oracle nhằm thực thi tính toàn vẹn dữ liệu giữa nhiều bảng. Nó có thể được thêm vào lúc tạo bảng và sau khi tạo bảng cũng được.
Khóa duy nhất trong Oracle : Khóa duy nhất thực thi duy nhất trong cột trong bảng và giúp chúng tôi xác định hàng một cách nhanh chóng . Oracle tạo chỉ mục duy nhất cho khóa nếu không có chỉ mục nào
Ràng buộc kiểm tra Oracle : Ràng buộc Kiểm tra Oracle được sử dụng để thực thi các quy tắc toàn vẹn dựa trên các biểu thức logic, chẳng hạn như so sánh. Điều kiện kiểm tra phải trả về true hoặc false
Hàm Coalesce trong Oracle : Hàm Coalesce trong oracle sẽ trả về biểu thức đầu tiên nếu nó không phải là null, nếu không, nó sẽ kết hợp phần còn lại của biểu thức. < br /> cách kiểm tra tất cả các ràng buộc trên một bảng trong oracle : cách kiểm tra tất cả các ràng buộc trên một bảng trong oracle bằng cách sử dụng chế độ xem từ điển dữ liệu dba_constraints và dba_cons_columns trong cơ sở dữ liệu Oracle
https: //docs.oracle.com/cd/B10500_01/appdev.920/a96590/adg05itg.htm


Xem thêm những thông tin liên quan đến chủ đề oracle sql loại bỏ ràng buộc

Database Management Systems #7 SQL Constraints – Not null and Check Constraints

  • Tác giả: Satish C J
  • Ngày đăng: 2019-07-30
  • Đánh giá: 4 ⭐ ( 9608 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Constraint Queries available in the link below
    https://satishcj.blogspot.com/2021/10/sql-constraints-introduction-to.html

    The topics covered in this session are
    1. What are Constraints
    2. Types of SQL Constraints
    3. Use of Constraint Names
    4. Enable,Disable,Drop Constraints
    5. Not Null and Check Constraint Demo

Các ràng buộc trong SQL

  • Tác giả: nq.com.vn
  • Đánh giá: 3 ⭐ ( 5335 lượt đánh giá )
  • Khớp với kết quả tìm kiếm:

[Tự học SQL] Tìm hiểu về ràng buộc CHECK và DEFAULT trong SQL

  • Tác giả: cafedev.vn
  • Đánh giá: 4 ⭐ ( 3507 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Bài này cafedev chia sẻ cho ace về cách sử dụng ràng buộc CHECK và DEFAULT trong SQL.

Tìm ràng buộc khoá ngoại trong Oracle

  • Tác giả: aptech.vn
  • Đánh giá: 4 ⭐ ( 6079 lượt đánh giá )
  • Khớp với kết quả tìm kiếm:

Ràng buộc trong SQL

  • Tác giả: viettuts.vn
  • Đánh giá: 3 ⭐ ( 7810 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Ràng buộc (Constraint) là các quy tắc được thi hành trên các cột dữ liệu của một bảng. Chúng được sử dụng để giới hạn loại dữ liệu có thể nhập vào một bảng.

Các ràng buộc trong SQL

  • Tác giả: hktsoft.com
  • Đánh giá: 4 ⭐ ( 6265 lượt đánh giá )
  • Khớp với kết quả tìm kiếm:

Ràng buộc (Constraint) trong SQL

  • Tác giả: viblo.asia
  • Đánh giá: 4 ⭐ ( 6653 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Bài viết này mình sẽ chia sẽ một số kiến thức về cách định nghĩa ràng buộc trong MS SQL Server. Constraint là gì? Constraint là những quy tắc được áp dụng trên các cột dữ liệu, trên bảng. Được sử dụng…

Xem thêm các bài viết khác thuộc chuyên mục: Kiến thức lập trình

By ads_php