Ý nghĩa của từ trong dấu ngoặc nhọn đôi trong PL/SQL, ví dụ: <<word>>
?PL/SQL Ý nghĩa của <<word>>
Tôi đã cố thực hiện tìm kiếm trên google nhưng google bỏ qua dấu chấm câu.
Nó được sử dụng để làm gì?
Ý nghĩa của từ trong dấu ngoặc nhọn đôi trong PL/SQL, ví dụ: <<word>>
?PL/SQL Ý nghĩa của <<word>>
Tôi đã cố thực hiện tìm kiếm trên google nhưng google bỏ qua dấu chấm câu.
Nó được sử dụng để làm gì?
Cú pháp là để đặt tên vòng lặp. Hữu ích khi bạn có vòng lặp lồng nhau và cần phải sử dụng EXIT loop_name WHEN ... cú pháp để kiểm soát vòng lặp nào cần thoát.
Xem http://docs.oracle.com/cd/B28359_01/appdev.111/b28370/controlstructures.htm#BABJCCFJ cho một ví dụ
Như đã đề cập bởi các bình luận câu hỏi, điều này được sử dụng để đặt tên báo cáo hợp chất và cũng là một mục tiêu cho GOTO. Bạn có thể sử dụng để sử dụng nhãn trong END và END LOOP mà có thể là tuyệt vời để có thể đọc, như <<countdown>> for i in 1.9 loop blah; end loop countdown;
Dưới đây là một ví dụ:
set echo on
set serveroutput on
<<begin_end_block>>
declare
msg varchar2(1000);
begin
dbms_output.enable;
msg := chr(9) || 'start';
<<loopblk>>
for itr8 in 1 .. 5
loop
msg := msg || chr(10) || chr (9) || 'loop';
dbms_output.put_line ('Iterator is ' || itr8);
<<ifblck>> if itr8 > 2
then
msg := msg || chr(10) || chr(9) || 'greater than 2';
goto gototarg;
end if;
exit loopblk when mod (itr8, 4) = 0;
continue loopblk;
<<gototarg>>
dbms_output.put_line ('after goto target');
end loop loopblk;
dbms_output.put_line ('Ending, here are the messages' || chr(10) || msg);
end begin_end_block;
/
đầu ra là:
anonymous block completed
Iterator is 1
Iterator is 2
Iterator is 3
after goto target
Iterator is 4
after goto target
Iterator is 5
after goto target
Ending, here are the messages
start
loop
loop
loop
greater than 2
loop
greater than 2
loop
greater than 2
tra cứu “PLSQL dấu ngoặc nhọn đôi ". – Benoit
'<<' and '>>' là các dấu phân cách nhãn, do đó trong '<>' 'foo' là nhãn. Tìm thêm từ tài liệu Oracle: [Các nguyên tắc cơ bản về ngôn ngữ PL/SQL] (http://docs.oracle.com/cd/E11882_01/appdev.112/e17126/fundamentals.htm) và [Các câu lệnh điều khiển PL/SQL] (http://docs.oracle.com/cd/E11882_01/appdev.112/e17126/controlstatements.htm). –
user272735
Bài viết này sẽ cung cấp cho bạn một nền tảng tốt trong ghi nhãn khối và sử dụng của nó: http://www.devshed.com/c/a/Oracle/Database-Interaction-with-PLSQL-Nested-Blocks-in-Depth/1/ Hy vọng nó giúp... – Ollie