Fra et SQL-regneark skal du kalde din procedure fra en anonym blokere :
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;
/
Som Jeffrey Kemp bemærkede, er det en god idé at bruge den navngivne parameternotation og ikke positionsnotation; det gør det klarere, hjælper med at undgå fejl (især at få rækkefølgen af argumenter forkert), kan reducere virkningen af fremtidige ændringer af proceduren og er mere fleksibel, når du har parametre med standardværdier - så du kan springe over alle, du ikke eksplicit ønsker at indstille.
Du kan også bruge execute
kommando
som en genvej, men med en masse parametre er det nok nemmere at holde sig til en anonym blok – det er i hvert fald det samme under motorhjelmen. Meget af SQL*Plus-dokumentationen gjaldt også for SQL Developer.
SQL-udviklerdokumentationen viser dig også, hvordan du udfører og fejlfinde en procedure .
Hvis dette er dit første indtog i PL/SQL, kan det være værd at gennemgå dokumentation . Jeg er ikke sikker på, hvor du vil hen med den kode, du har vist; det ser ud til at være lidt forvirret. Det er usædvanligt at oprette objekter som indekser i PL/SQL, da de skal bygges én gang, når skemaet oprettes eller opdateres, så det virker lidt meningsløst at have det som genanvendelig kode.