Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Bảng ALTER &DROP DDL với việc thực thi ngay lập tức trong cơ sở dữ liệu Oracle

Bảng ALTER &DROP DDL

Hiện tại, chúng ta đã tìm hiểu tất cả các cách có thể tạo bảng ngay bên trong khối PL / SQL bằng Native Dynamic SQL. Bạn có thể kiểm tra chúng trong hai hướng dẫn cuối cùng là hướng dẫn 82 và hướng dẫn 83.

Cảm ơn, Dynamic SQL đã cho chúng tôi khả năng thực thi các câu lệnh DDL và DML trong khối PL / SQL của chúng tôi. Được rồi, hãy bình tĩnh lại tất cả những người thuộc thời kỳ đồ đá! Tôi biết rằng gói DBMS_SQL vẫn còn đó nhưng so với SQL động, tôi thấy nó thực sự phức tạp, chưa kể đến hiệu suất chậm chạp của nó. Dù sao thì cũng vậy

Chúng ta học được gì từ hướng dẫn này?

Trong hướng dẫn này, chúng ta sẽ học cách sử dụng bảng ALTER &DROP DDL với câu lệnh Thực thi ngay lập tức của SQL động gốc. Điều đó có nghĩa là vào cuối hướng dẫn này, bạn sẽ có thể tự động sửa đổi và xóa một đối tượng cơ sở dữ liệu chẳng hạn như bảng thông qua chương trình PL / SQL của mình.

Tại sao chúng ta nên tìm hiểu điều đó?

Một số người có thể thấy chủ đề không liên quan, nhưng không đúng hơn nó là một chủ đề rất quan trọng, đặc biệt là từ quan điểm Phỏng vấn và Chứng chỉ Oracle. Ngoài ra, là một nhà phát triển, tất cả chúng ta phải có các nguyên tắc cơ bản của mình rõ ràng bởi vì bạn không bao giờ biết khi nào bạn sẽ cần nó.

Vì vậy, hãy bắt đầu hướng dẫn, trong trường hợp bạn vẫn còn thắc mắc, vui lòng nhắn tin cho họ trên Facebook của tôi, tại đây. Đầu tiên chúng ta hãy tìm hiểu cách sửa đổi bảng bằng ALTER TABLE với Thực thi ngay lập tức của SQL động.

Làm cách nào để sửa đổi động một bảng?

Để sửa đổi một đối tượng cơ sở dữ liệu chẳng hạn như một bảng, chúng tôi sử dụng ALTER DDL trong Cơ sở dữ liệu Oracle. Việc sửa đổi bảng bằng ALTER DDL thông qua SQL rất dễ dàng so với PL / SQL.

PL / SQL không hỗ trợ trực tiếp các câu lệnh DDL, DML và DQL. Để thực thi các câu lệnh SQL được đề cập, chúng ta cần sử dụng gói Dynamic SQL hoặc DBMS_SQL. Trong số hai phương pháp này, Native Dynamic SQL (NDS) là lựa chọn khả thi nhất vì tính đơn giản và hiệu suất được tối ưu hóa. Bạn có thể đọc các ưu điểm của NDS so với gói DBMS_SQL tại đây.

Vì vậy, cách đơn giản nhất để sửa đổi động một đối tượng cơ sở dữ liệu như một bảng là sử dụng Alter Table DDL với câu lệnh Execute ngay lập tức của Native Dynamic SQL.

Ví dụ:Thay đổi Bảng DDL với câu lệnh Thực thi ngay lập tức.

Đối với phần trình diễn, chúng tôi sẽ sử dụng cùng một bảng mà chúng tôi đã tạo trong hướng dẫn trước. Ở đó, chúng tôi đã tạo một bảng với tên tut_83 có hai cột tut_num của kiểu dữ liệu NUMBER và tut_name của kiểu dữ liệu varchar 2.

Nếu bạn đang thực hành với tôi thì bạn phải tạo bảng đó trong lược đồ của mình. Nếu đúng như vậy thì bạn đã sẵn sàng để tiếp tục, nếu không, hãy truy cập hướng dẫn cuối cùng và tạo bảng đó.

Bây giờ, giả sử chúng ta muốn thêm một cột dữ liệu tut_date of date vào bảng này và cũng sử dụng SQL động nguyên gốc. Để làm được điều đó, chúng ta cần sử dụng ALTER TABLE DDL với câu lệnh Execute ngay lập tức.

Bước 1:Chuẩn bị câu lệnh DDL.

Thực tiễn tốt nhất để viết một chương trình SQL động là chuẩn bị trước câu lệnh SQL của bạn.

ALTER TABLE tut_83 ADD tut_date DATE

Đây là ALTER TABLE DDL mà chúng ta sẽ sử dụng để thực thi động. Câu lệnh này sẽ thêm cột tut_date của kiểu dữ liệu DATE vào bảng tut_83.

Bạn cũng có thể xem video hướng dẫn để trình diễn trực tiếp khái niệm này.

Bước 2:Viết chương trình SQL động gốc.

Khi bạn đã chuẩn bị xong câu lệnh DDL thì bạn đã sẵn sàng để viết khối PL / SQL.

SET SERVEROUTPUT ON;
DECLARE
 ddl_qry VARCHAR2(50);
BEGIN
 ddl_qry := 'ALTER TABLE tut_83
        	 ADD  tut_date DATE';
 EXECUTE IMMEDIATE ddl_qry;
END;
/  

Khi thực thi thành công chương trình PL / SQL này sẽ sửa đổi bảng được đề cập ở trên. Bạn có thể kiểm tra cấu trúc đã sửa đổi của bảng bằng cách sử dụng lệnh DESCRIBE, như sau

DESCRIBE tut_83;

HOẶC

DESC tut_83;

Đó là tất cả những gì bạn phải làm. Đó là cách chúng tôi sửa đổi động một đối tượng cơ sở dữ liệu bằng cách sử dụng ALTER TABLE DDL với câu lệnh Thực thi ngay lập tức. Điều đó cũng kết thúc phần đầu tiên của hướng dẫn, bây giờ hãy chuyển sang phần thứ hai và tìm hiểu cách xóa bảng bằng SQL động nguyên gốc.

Làm cách nào để xóa động một bảng?

Để xóa một đối tượng cơ sở dữ liệu như một bảng, chúng tôi sử dụng DROP DDL trong Cơ sở dữ liệu Oracle. Giống như bất kỳ câu lệnh DDL nào khác, câu lệnh này cũng không được hỗ trợ trực tiếp bởi công cụ PL / SQL. Và như thường lệ, chúng ta cũng cần sử dụng Dynamic SQL để chạy DDL này. Hãy xem cách xóa bảng bằng Thực thi ngay lập tức của SQL động gốc.

Bước 1:Chuẩn bị câu lệnh DDL.

DDL để xóa bảng là:

DROP TABLE tut_83

DDL này sẽ xóa tut_83 bảng khỏi lược đồ.

Bước 2:Viết chương trình PL / SQL cho bảng DROP với Thực thi ngay lập tức.

SET SERVEROUTPUT ON;
DECLARE
    ddl_qry     VARCHAR2 (100);
BEGIN
    ddl_qry := 'DROP TABLE tut_83';
    EXECUTE IMMEDIATE ddl_qry;
END;
/

Vì vậy, thực hiện thành công chương trình này sẽ thả bảng tut_83 mà bạn có thể dễ dàng kiểm tra bằng cách sử dụng lệnh DESCRIBE như hình trên.

Đó là hướng dẫn về cách sửa đổi và xóa một đối tượng cơ sở dữ liệu bằng cách sử dụng Alter &Drop table DDL với câu lệnh Execute ngay lập tức của Native Dynamic SQL trong Oracle Database. Hy vọng bạn thích đọc nó và học được điều gì đó mới. Hãy chia sẻ blog này trên phương tiện truyền thông xã hội của bạn với bạn bè của bạn. Bạn cũng có thể kết nối với tôi trên Trang Facebook của tôi để có thêm thông tin chi tiết thú vị. Cảm ơn và chúc một ngày tốt lành!


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Hàm LOG () trong Oracle

  2. Tôi có nên lập chỉ mục (các) cột khóa chính trong Oracle không

  3. Không còn dữ liệu để đọc từ lỗi ổ cắm

  4. Mức lương tối đa thứ n trong Oracle

  5. EF 4, cách thêm các lớp từng phần