¿Cuál es el significado de una palabra en corchetes en doble ángulo en PL/SQL, por ej. <<word>>
?PL/SQL Cuál es el significado de <<word>>
He intentado hacer una búsqueda en google, pero google omite la puntuación.
¿Para qué se utiliza?
¿Cuál es el significado de una palabra en corchetes en doble ángulo en PL/SQL, por ej. <<word>>
?PL/SQL Cuál es el significado de <<word>>
He intentado hacer una búsqueda en google, pero google omite la puntuación.
¿Para qué se utiliza?
La sintaxis <> es para nombrar bucles. Es útil cuando tiene bucles anidados y necesita utilizar la sintaxis EXIT loop_name WHEN ... para controlar qué bucle para salir.
Ver http://docs.oracle.com/cd/B28359_01/appdev.111/b28370/controlstructures.htm#BABJCCFJ para un ejemplo
Como se ha mencionado por los comentaristas de interrogación, esto se utiliza para etiquetar instrucciones compuestas y también como un objetivo para GOTO. Se puede utilizar para usar la etiqueta en el final y FIN bucle que puede ser grande para facilitar la lectura, como <<countdown>> for i in 1.9 loop blah; end loop countdown;
He aquí un ejemplo:
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;
/
salida es:
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
de búsqueda “plsql soportes de doble ángulo ". – Benoit
'<<' and '>>' son delímetros de etiquetas, por lo tanto, en '<>' 'foo' es una etiqueta. Obtenga más información de la documentación de Oracle: [Fundamentos del lenguaje PL/SQL] (http://docs.oracle.com/cd/E11882_01/appdev.112/e17126/fundamentals.htm) y [Sentencias de control PL/SQL] (http://docs.oracle.com/cd/E11882_01/appdev.112/e17126/controlstatements.htm). –
user272735
Este artículo debería proporcionarle una buena conexión a tierra en el etiquetado de bloques y sus usos: http://www.devshed.com/c/a/Oracle/Database-Interaction-with-PLSQL-Nested-Blocks-in-Depth/1/ Espero eso ayude... – Ollie