2012-06-08 31 views
12

¿Qué significa el símbolo => en PL/SQL? p.ej.Significado del símbolo PLSQL "=>"

GetAttrNumber(toitemtype => toitemtype, 
       toitemkey => toitemkey, 
       toactid => toactid) 
+0

Y cito "Association operator for notación posicional" – RThomas

Respuesta

19

Esa es la notación de palabra clave/valor para pasar parámetros a un procedimiento o función PL/SQL.

El lado izquierdo es el nombre del parámetro, el derecho es el valor que se pasa.

Es útil cuando no desea mantener un orden específico de parámetros, o para el código de auto-documentación.

10

La notación de palabra clave/valor puede ser muy útil si tiene una larga lista de parámetros y solo necesita especificar un subconjunto de ellos. Especialmente si desea omitir algunos de los parámetros en el medio de la lista de parámetros (this requires the skipped parameters to use DEFAULT values). A modo de ejemplo, si tiene un procedimiento como este:

PROCEDURE my_proc(
    p_param1 NUMBER DEFAULT 1 
    , p_param2 NUMBER DEFAULT 2 
    , p_param3 NUMBER DEFAULT 3 
    , p_param4 NUMBER DEFAULT 4 
    , p_param5 NUMBER DEFAULT 5 
); 

Ahora usted puede call my_proc() only with only first and last parameter,

my_proc (p_param1 => valor1, p_param5 => valor2);

+1

En sus ejemplos, los parámetros deben declararse con un 'default', por ejemplo' p_param4 number default 4' or 'p_param4 number: = 4'. –