Video: Chúng ta có thể sử dụng câu lệnh DDL trong thủ tục trong Oracle không?
2024 Tác giả: Lynn Donovan | [email protected]. Sửa đổi lần cuối: 2023-12-15 23:55
Câu lệnh DDL không được phép vào Thủ tục ( PLSQL KHỐI) PL / SQL các đối tượng được biên dịch trước. Mặt khác, DDL (Ngôn ngữ Định nghĩa Dữ liệu) các câu lệnh như CREATE, DROP, ALTER lệnh và DCL (Ngôn ngữ điều khiển dữ liệu) các câu lệnh như GRANT, REVOKE có thể thay đổi các phụ thuộc trong quá trình thực hiện chương trình.
Hơn nữa, chúng ta có thể sử dụng các câu lệnh DDL trong thủ tục được lưu trữ không?
Bạn co thể sử dụng chỉ một DDL BÌNH LUẬN các câu lệnh trong một thủ tục lưu trữ . Bạn không thể chỉ định DML COMMENT các câu lệnh , được giới hạn trong nhúng SQL ứng dụng, để tìm nạp các nhận xét cho các đối tượng cơ sở dữ liệu, các cột của bảng và các tham số. Tất cả các biến thể của TẠO BẢNG tuyên bố có giá trị.
Sau đó, câu hỏi đặt ra là chúng ta có thể sử dụng câu lệnh DML trong thủ tục không? Bạn có thể nhập trực tiếp ngôn ngữ thao tác dữ liệu SQL ( DML ) các câu lệnh bên trong các khối PL / SQL, và bạn có thể sử dụng các thủ tục , do Oracle cung cấp, để thực hiện ngôn ngữ định nghĩa dữ liệu (DDL) các câu lệnh.
Như vậy, chúng ta có thể sử dụng câu lệnh DDL trong hàm trong Oracle không?
Không DDL được phép: A hàm số được gọi từ bên trong một SQL tuyên bố bị hạn chế chống lại DDL tại vì DDL đưa ra một cam kết ngầm. Bạn không thể phát hành bất kỳ Câu lệnh DDL từ trong một Hàm PL / SQL . Hạn chế đối với các ràng buộc: Bạn không thể sử dụng Một hàm số trong ràng buộc kiểm tra của một bảng tạo Tuyên bố DDL.
Làm cách nào để chạy tập lệnh DDL trong Oracle?
- Bước 1: Chuẩn bị trước DDL của bạn.
- Bước 2: Chạy DDL của bạn thông qua chương trình PL / SQL bằng Execute ngay lập tức.
- Đầu tiên: Luôn bao gồm câu lệnh SQL của bạn thành một cặp Dấu ngoặc kép.
- Thứ hai: Chăm sóc Dấu chấm phẩy.
Đề xuất:
Chúng ta có thể sử dụng tiếp tục trong câu lệnh switch không?
Câu lệnh continue chỉ áp dụng cho các vòng lặp, không áp dụng cho một câu lệnh switch. Một tiếp tục bên trong một công tắc bên trong một vòng lặp gây ra lặp lại vòng lặp tiếp theo. Tất nhiên bạn cần vòng lặp bao quanh (trong khi, cho, làm trong khi) để tiếp tục làm việc
Chúng ta có thể sử dụng câu lệnh continue trong switch trong C không?
Có, không sao - nó giống như sử dụng nó trong ifstatement. Tất nhiên, bạn không thể sử dụng break để thoát ra khỏi vòng lặp từ bên trong công tắc. Có, tiếp tục sẽ bị bỏ qua bởi câu lệnh switch và sẽ chuyển đến điều kiện của vòng lặp được kiểm tra
Chúng ta có thể sử dụng thực thi ngay lập tức cho câu lệnh select không?
Chương trình có thể sử dụng THỰC HIỆN NGAY LẬP TỨC. THỰC HIỆN NGAY LẬP TỨC định nghĩa một vòng lặp chọn để xử lý các hàng được trả về. Nếu lựa chọn chỉ trả về một hàng, không cần thiết phải sử dụng vòng lặp chọn
Chúng ta có thể sử dụng giao dịch trong thủ tục được lưu trữ không?
Nếu chúng ta có nhiều hơn một câu lệnh SQL được thực thi trong thủ tục được lưu trữ và chúng tôi muốn khôi phục bất kỳ thay đổi nào được thực hiện bởi bất kỳ câu lệnh SQL nào trong trường hợp xảy ra lỗi do một trong các câu lệnh SQL, chúng ta có thể sử dụng giao dịch trong thủ tục được lưu trữ
Chúng ta có thể sử dụng DDL trong thủ tục được lưu trữ không?
Bạn chỉ có thể sử dụng các câu lệnh DDL COMMENT trong một thủ tục được lưu trữ. Bạn không thể chỉ định các câu lệnh DML COMMENT, được giới hạn cho các ứng dụng SQL nhúng, để tìm nạp các nhận xét cho các đối tượng cơ sở dữ liệu, các cột của bảng và các tham số