[Gfoss] stored procedure e messaggio finale NULL

a.furieri a lqt.it a.furieri a lqt.it
Ven 11 Giu 2021 15:54:23 CEST


On Fri, 11 Jun 2021 15:40:18 +0200, Totò Fiandaca wrote:
> Buonasera a tuttə,
> ho studiato le stored procedure di spatialite 5 [0] e ho un problema 
> che
> non riesco a risolvere da solo.
>
> Lavoro con spatialite_gui 2.1.0 beta1 con spatialite 5.0.0 e sqlite 
> 3.33.0
>
> Ho creato un mio database usando la gui e importato una sola tabella
> (vettore MultiLineString 32632),
> su questa tabella faccio una serie di query, circa 53, tutte a 
> cascata.
>
> Ho usato le stored procedure, ovvero ho sostituito al posto del nome 
> della
> tabella (es:pippo) la variabile @toto@ e ho salvato l'intero script 
> SQL in
> un file, es: my_script_sql.sql
>
> da spatialite_gui lancio la seguente query:
>
> SELECT SqlProc_SetLogfile(
> 'C:\Users\pigre\Desktop\db_prova_route\logfile.txt', 1);
> SELECT
> SqlProc_Execute(SqlProc_FromFile('D:\Gitlab\civ_xxxxx_of\ 
> my_script_sql.sql
> '),'@toto@=pippo');
>
> tutto procede bene, ma alla fine ottengo:
>
> SqlProc_Execute(SqlProc_FromFile('D:\Gitlab\civ_xxxxx_of\ 
> my_script_sql.sql
> '),'@toto@=pippo')
> --------
> NULL
>
> ma ottengo l'output corretto, cosa significa questo NULL? devo 
> preoccuparmi?
>

Toto',

almeno in teoria quando uno sviluppatore decide di perdere
qualche giornata per tenere aggiornata la documentazione
tecnica lo fa proprio con l'intenzione di chiarire dubbi
come questo :-D

http://www.gaia-gis.it/gaia-sins/spatialite-sql-5.0.1.html

ecco cosa dice per la funzione SqlProc_Execute()

"On success will return the Return Value defined
(explicitly or implicitly) by SqlProc_Return()."

a sua volta la SqlProc_Return() riporta:

"Any SQL Body terminating without explicitly
calling SqlProc_Return() or StoredProc_Return()
will always behave as if SqlProc_Return(NULL)
was implicitly called."

conclusione: nel tuo SQL script non viene mai
chiamata nessuna SqlProc_Return(); e di conseguenza
esce con il valore impostato by default che e' NULL

insomma, e' tutto assulutamente regolare, fa
esattamente quel che ci si aspetta che faccia. :-D

ciao Sandro


Maggiori informazioni sulla lista Gfoss