sql >> Base de Datos >  >> RDS >> Oracle

Procedimiento almacenado con múltiples parámetros IN

Desde una hoja de trabajo de SQL, llame a su procedimiento desde un anónimo bloquear :

begin
  create_indexes (
    tbl_name_index    => 'TABLE_NAME',
    tbl_name_vehicle  => 'Vehicle name',
    tbl_name_dealer   => 'value 3',
    tbl_name_hst      => 'value 4',
    tbl_name_dms      => 'value 5',
    tbl_name_usertype => 'value 6',
    tbl_name_search   => 'value 7');
end;
/

Como señaló Jeffrey Kemp, es una buena idea utilizar la notación de parámetros con nombre y no la notación posicional; lo hace más claro, ayuda a evitar errores (en particular, si el orden de los argumentos es incorrecto), puede reducir el impacto de futuros cambios en el procedimiento y es más flexible cuando tiene parámetros con valores predeterminados, por lo que puede omitir los que no. desea configurar explícitamente.

También puede usar execute comando como atajo, pero con muchos parámetros, probablemente sea más fácil apegarse a un bloque anónimo; de todos modos, es lo mismo debajo del capó. Gran parte de la documentación de SQL*Plus también se aplicó a SQL Developer.

La documentación de SQL Developer también le muestra cómo ejecutar y depurar un procedimiento .

Si esta es su primera incursión en PL/SQL, entonces podría valer la pena revisar el documentación . No estoy seguro de a dónde vas con el código que has mostrado; parece estar un poco confundido. Es inusual crear objetos como índices en PL/SQL, ya que deben compilarse una vez cuando se crea o actualiza el esquema, por lo que tenerlo como código reutilizable parece un poco inútil.