sql >> Databáze >  >> RDS >> Oracle

Uložená procedura s více parametry IN

Z listu SQL zavolejte svůj postup z anonymního zablokovat :

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

Jak poznamenal Jeffrey Kemp, je dobré používat zápis pojmenovaného parametru a ne poziční zápis; dělá to přehlednější, pomáhá vyhnout se chybám (zejména špatnému pořadí argumentů), může snížit dopad budoucích změn na proceduru a je flexibilnější, když máte parametry s výchozími hodnotami - takže můžete přeskočit všechny, které nemáte chcete explicitně nastavit.

Můžete také použít execute příkaz jako zkratka, ale se spoustou parametrů je asi jednodušší držet se anonymního bloku - pod kapotou je to stejně. Mnoho dokumentace SQL*Plus se také vztahovalo na SQL Developer.

Dokumentace SQL Developer také ukazuje, jak spouštět a ladit proceduru .

Pokud je to váš první vpád do PL/SQL, pak by možná stálo za to si přečíst dokumentace . Nejsem si jistý, kam míříte s kódem, který jste ukázali; zdá se to být trochu zmatené. Je neobvyklé vytvářet objekty jako indexy v PL/SQL, protože by měly být sestaveny jednou při vytváření nebo aktualizaci schématu, takže mít to jako znovupoužitelný kód se zdá trochu zbytečné.




  1. Funkce okna PostgreSQL:rozdělení podle srovnání

  2. Nelze inicializovat poskytovatele. Chybějící nebo nesprávné schéma. pro konektor MySql.Web

  3. Dotaz na více tabulek – zobrazení názvu týmu na základě ID týmu

  4. Jak napsat vnitřní dotaz, který vrátí nejnovější zprávu pro daného uživatele?