sql >> Database >  >> RDS >> Oracle

Opgeslagen procedure met meerdere IN-parameters

Roep vanuit een SQL-werkblad uw procedure aan vanaf een anoniem blokkeren :

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

Zoals Jeffrey Kemp opmerkte, is het een goed idee om de benoemde parameternotatie te gebruiken, en niet de positionele notatie; het maakt het duidelijker, helpt fouten te voorkomen (met name de volgorde van de argumenten verkeerd), kan de impact van toekomstige wijzigingen in de procedure verminderen en is flexibeler wanneer u parameters met standaardwaarden heeft - zodat u alle parameters kunt overslaan die u niet doet expliciet wilt instellen.

U kunt ook de execute gebruiken commando als een snelkoppeling, maar met veel parameters is het waarschijnlijk gemakkelijker om bij een anoniem blok te blijven - het is hoe dan ook hetzelfde onder de motorkap. Veel van de SQL*Plus-documentatie was ook van toepassing op SQL Developer.

De SQL Developer-documentatie laat ook zien hoe u een procedure debuggen .

Als dit je eerste kennismaking met PL/SQL is, is het misschien de moeite waard om de documentatie . Ik weet niet zeker waar je heen gaat met de code die je hebt laten zien; het lijkt een beetje verward. Het is ongebruikelijk om objecten zoals indexen in PL/SQL te maken, omdat ze één keer moeten worden gebouwd wanneer het schema wordt gemaakt of bijgewerkt, dus het lijkt een beetje zinloos om het als herbruikbare code te hebben.




  1. System.ArgumentException:De tabeltypeparameter moet een geldige typenaam hebben

  2. Hoe de taakresultaten van het SSIS-pakket controleren nadat de uitvoering ervan is voltooid?

  3. Invoegen in externe database ASIFormDataRequest:400-code ophalen, slecht verzoek

  4. goede postgresql-client voor Windows?