It is currently 22 April 2025, 0:40 Advanced search

Parametri opzionali db Oracle

Questo forum è nato con lo scopo di raccogliere le proposte di modifica di Instant Developer e discuterne insieme.

Parametri opzionali db Oracle

Postby g.anastasi » 8 August 2011, 10:18

Se cerco di creare una funzione su DB oracle mettendo un parametro opzionale, INDE non specifica il default,
quindi per Oracle non sono opzionali! Si può migliorare la cosa?

Codice generato da Inde:
create function MY_PROC (p_STRINGA varchar2, p_PARAM1 varchar2) return varchar2 as
v_RISULTATO varchar2(250);
BEGIN
......

Mentre dovrebbe tradurla così:
create function MY_PROC (p_STRINGA varchar2, p_PARAM1 varchar2 default '') return varchar2 as
v_RISULTATO varchar2(250);
BEGIN

Grazie.
User avatar
g.anastasi
 
Posts: 89
Joined: 26 October 2010, 12:05

Re: Parametri opzionali db Oracle

Postby lucabaldini » 30 September 2011, 15:05

In effetti quel che segnali è ragionevole se la stored procedure è utilizzata anche da altri applicativi. In.de gestisce già il valore opzionale in maniera automatica. Se non specifichi il valore quando effettui la chiamata, In.de inserisce automaticamente il valore, come puoi vedere dall'immagine allegata.
stored&opt.png
stored&opt.png (25.24 KiB) Viewed 1629 times


Mentre facevo le prove, però, mi sono accorto che c'è qualcosa da analizzare meglio. Se il valore opzionale è "" il sistema non fornisce il parametro quindi si ottengono errori. A dire il vero non è tanto il valore "" che dà problemi bensì il fatto che il flag "NULL" che trovi nella videata delle proprietà del parametro è attivo. Questo fa sì che se il parametro non viene specificato allora il sistema non lo fornisce invece di passare comunque il valore "". Questo può essere utile lato client per effettuare chiamate esterne a metodi virtuali definiti più volte con un numero di parametri differenti.
isnull.png
isnull.png (8.07 KiB) Viewed 1629 times


Se, però, disattivi il flag, tutto funziona anche nel caso di "".
Mi sono segnato la cosa... magari gestiamo meglio il caso in una delle prossime versioni di In.de.
User avatar
lucabaldini
Pro Gamma
Pro Gamma
 
Posts: 4990
Joined: 1 October 2010, 17:03
Location: Bologna


Return to Proposte di modifica

Who is online

Users browsing this forum: No registered users and 17 guests