Oracle
 sql >> Base de données >  >> RDS >> Oracle

Procédure stockée avec plusieurs paramètres IN

À partir d'une feuille de calcul SQL, appelez votre procédure à partir d'un anonyme bloquer :

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;
/

Comme Jeffrey Kemp l'a noté, c'est une bonne idée d'utiliser la notation des paramètres nommés, et non la notation positionnelle; cela le rend plus clair, aide à éviter les erreurs (en particulier en se trompant dans l'ordre des arguments), peut réduire l'impact des modifications futures de la procédure et est plus flexible lorsque vous avez des paramètres avec des valeurs par défaut - vous pouvez donc ignorer ceux que vous n'avez pas souhaitez définir explicitement.

Vous pouvez également utiliser execute commande comme raccourci, mais avec beaucoup de paramètres, il est probablement plus facile de s'en tenir à un bloc anonyme - c'est la même chose sous le capot de toute façon. Une grande partie de la documentation SQL*Plus s'applique également à SQL Developer.

La documentation SQL Developer vous montre également comment exécuter et déboguer une procédure .

S'il s'agit de votre première incursion dans PL/SQL, il peut être utile de consulter le documentation . Je ne sais pas où vous voulez en venir avec le code que vous avez montré ; il semble être un peu confus. Il est inhabituel de créer des objets comme des index en PL/SQL car ils doivent être construits une fois lorsque le schéma est créé ou mis à jour, donc l'avoir comme code réutilisable semble un peu inutile.