Đó là một câu hỏi thú vị, để chắc chắn. Hầu hết những người quen thuộc với sự phát triển của Oracle sẽ không suy nghĩ gì nhưng khi bạn tìm hiểu về nó, đôi khi thật khó hiểu khi xác định ranh giới giữa SQL và PL / SQL.
Bằng cách xem định nghĩa của các từ viết tắt, bạn bắt đầu có ý tưởng về các lĩnh vực chức năng của mỗi trang bìa:
SQL - Ngôn ngữ truy vấn có cấu trúc
PL / SQL - Ngôn ngữ thủ tục / Ngôn ngữ truy vấn có cấu trúc
Người đọc quan sát có thể nhận thấy cách SQL hiển thị hai lần 8) Đó là vì SQL thường được nhúng trong PL / SQL - PL / SQL là ngôn ngữ được tạo ra để cung cấp ngôn ngữ thế hệ thứ 4 (4GL) độc quyền chơi rất tốt với các đối tượng cơ sở dữ liệu trong Oracle.
Wikipedia có một số tài liệu khá tốt về cả SQL và PL / SQL
Phần khó hiểu là nơi PL / SQL và SQL chồng chéo lên nhau một chút. Mục đích của SQL bao gồm chèn dữ liệu, truy vấn, cập nhật và xóa, cái gọi là DML hoặc các hoạt động ngôn ngữ thao tác dữ liệu, nhưng nó cũng bao gồm tạo, thay đổi, đổi tên, thả là DDL hoặc hoạt động ngôn ngữ định nghĩa dữ liệu. Đây là nơi mà một số có thể bị nhầm lẫn. Hoạt động để tạo một thủ tục được lưu trữ, một cái gì đó được viết bằng PL / SQL, thực ra là SQL - bạn sử dụng SQL để tạo đối tượng cơ sở dữ liệu đại diện cho một khối PL / SQL.
Tương tự như vậy, bạn có thể nhúng mã SQL bên trong PL / SQL của mình. Ví dụ, một vòng lặp FOR trong PL / SQL có thể dựa trên truy vấn SQL. Thổi tâm trí của bạn một chút, eh? Bạn tạo một thủ tục bằng SQL thực sự sử dụng SQL để thực hiện một số hành động đối với các bản ghi từ cơ sở dữ liệu.
Công cụ tuyệt vời nếu bạn hỏi tôi.