Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Procedimento armazenado com vários parâmetros IN


Em uma planilha SQL, chame seu procedimento de um 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 Jeffrey Kemp observou, é uma boa ideia usar a notação de parâmetro nomeado, e não a notação posicional; torna mais claro, ajuda a evitar erros (particularmente errar a ordem dos argumentos), pode reduzir o impacto de futuras alterações no procedimento e é mais flexível quando você tem parâmetros com valores padrão - para que você possa pular qualquer um que não deseja definir explicitamente.

Você também pode usar o execute comando como um atalho, mas com muitos parâmetros, provavelmente é mais fácil manter um bloco anônimo - é o mesmo sob o capô. Grande parte da documentação do SQL*Plus também se aplica ao SQL Developer.

A documentação do SQL Developer também mostra como executar e depurar um procedimento .

Se esta for sua primeira incursão em PL/SQL, talvez valha a pena revisar o documentação . Não tenho certeza de onde você está indo com o código que você mostrou; parece estar um pouco confuso. É incomum criar objetos como índices em PL/SQL, pois eles devem ser construídos uma vez quando o esquema é criado ou atualizado, portanto, tê-lo como código reutilizável parece um pouco inútil.