Recentemente ho creato una procedura che viene definito in questo modo:Posso eseguire una procedura con parametri null di default?
create or replace
PACKAGE
pkg_dml_legal_transactions
AS
PROCEDURE spm_update_court_cost(
p_court_state IN legal_court_cost.state%TYPE,
p_tran_code IN legal_court_cost.transaction_code%TYPE,
p_legal_court IN legal_court_cost.court%TYPE default null,
p_end_date IN legal_court_cost.end_date%TYPE,
p_cost_min IN legal_court_cost.cost_range_min%TYPE,
p_cost_max IN legal_court_cost.cost_range_max%TYPE,
p_bal_min IN legal_court_cost.bal_range_min%TYPE DEFAULT NULL,
p_bal_max IN legal_court_cost.bal_range_max%TYPE DEFAULT NULL);
end pkg_dml_legal_transactions;
Quando tento di execute
la procedura, ottengo un errore che indica che:
PLS-00306: wrong number or types of arguments in call to 'SPM_UPDATE_COURT_COST'
Ecco ciò che la mia esecuzione dichiarazione assomiglia :
execute pkg_dml_legal_transactions.spm_update_court_cost('NJ',1,sysdate,1000,40000);
Ora capisco cosa significa l'errore, ma ho pensato che se i parametri sono stabilizzati a null poi ho potrebbe semplicemente saltarli, ma apparentemente no. C'è un modo per aggirare questo?
Provare a fare "p_cost_max' a' legal_court_cost.costo_max% TYPE DEFAULT NULL' Altrimenti è necessario passare un parametro alla procedura perché si aspetta un valore come non è stato definito 'DEFAULT NULL' – user75ponic
Se non ci si aspetta che sia null, quindi è necessario passare un parametro alla procedura. – user75ponic
Gli unici parametri che possono essere nulli sono il campo, e il saldo minimo e massimo. Nella mia esecuzione ho tutti quelli che non possono essere nulli. – user2405778