TAILIEUCHUNG - PL/SQL User’s Guide and Reference phần 7

Ngoại lệ và khai báo biến tương tự. Nhưng hãy nhớ, một ngoại lệ là một điều kiện lỗi, không phải là một mục dữ liệu. Không giống như các biến, các trường hợp ngoại lệ có thể không xuất hiện trong báo cáo chuyển nhượng hoặc các câu lệnh SQL. Tuy nhiên, các quy định phạm vi áp dụng đối với các biến và các ngoại lệ. | Using the EXECUTE IMMEDIATE Statement Dynamic SQL supports all the SQL datatypes. So for example define variables and bind arguments can be collections LOBs instances of an object type and refs. As a rule dynamic SQL does not support PL SQL-specific types. So for example define variables and bind arguments cannot be Booleans or index-by tables. The only exception is that a PL SQL record can appear in the INTO clause. You can execute a dynamic SQL statement repeatedly using new values for the bind arguments. However you incur some overhead because EXECUTE IMMEDIATE re-prepares the dynamic string before every execution. Some Examples The following PL SQL block contains several examples of dynamic SQL DECLARE sql_stmt VARCHAR2 200 plsql_block VARCHAR2 500 emp_id NUMBER 4 7566 salary NUMBER 7 2 dept_id NUMBER 2 50 dept_name VARCHAR2 14 PERSONNEL loCation VARCHAR2 13 DALLAS emp_rec emp ROWTYPE BEGIN EXECUTE IMMEDIATE CREATE TABLE bonus id NUMBER amt NUMBER sql_stmt INSERT INTO dept VALUES 1 2 3 EXECUTE IMMEDIATE sql_stmt USING dept_id dept_name location sql_stmt SELECT FROM emp WHERE empno id EXECUTE IMMEDIATE sql_stmt INTO emp_rec USING emp_id plsql_block BEGIN id amt END EXECUTE IMMEDIATE plsql_block USING 7788 500 sql_stmt UPDATE emp SET sal 2000 WHERE empno 1 RETURNING sal INTO 2 EXECUTE IMMEDIATE sql_stmt USING emp_id RETURNING INTO salary EXECUTE IMMEDIATE DELETE FROM dept WHERE deptno num USING dept_id EXECUTE IMMEDIATE ALTER SESSION SET SQL_TRACE TRUE END 10-4 PL SQL User s Guide and Reference Using the EXECUTE IMMEDIATE Statement In the example below a stand-alone procedure accepts the name of a database table such as emp and an optional WHERE-clause condition such as sal 2000 . If you omit the condition the procedure deletes all rows from the table. Otherwise the procedure deletes only those rows that meet the condition. CREATE PROCEDURE delete_rows table_name IN VARCHAR2 condition IN VARCHAR2 DEFAULT NULL AS where_clause VARCHAR2 100 .

TỪ KHÓA LIÊN QUAN
TAILIEUCHUNG - Chia sẻ tài liệu không giới hạn
Địa chỉ : 444 Hoang Hoa Tham, Hanoi, Viet Nam
Website : tailieuchung.com
Email : tailieuchung20@gmail.com
Tailieuchung.com là thư viện tài liệu trực tuyến, nơi chia sẽ trao đổi hàng triệu tài liệu như luận văn đồ án, sách, giáo trình, đề thi.
Chúng tôi không chịu trách nhiệm liên quan đến các vấn đề bản quyền nội dung tài liệu được thành viên tự nguyện đăng tải lên, nếu phát hiện thấy tài liệu xấu hoặc tài liệu có bản quyền xin hãy email cho chúng tôi.
Đã phát hiện trình chặn quảng cáo AdBlock
Trang web này phụ thuộc vào doanh thu từ số lần hiển thị quảng cáo để tồn tại. Vui lòng tắt trình chặn quảng cáo của bạn hoặc tạm dừng tính năng chặn quảng cáo cho trang web này.