stored procedure e messaggio finale NULL

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

stored procedure e messaggio finale NULL

pigreco
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?

allego il logfile.txt


[0] https://www.gaia-gis.it/fossil/libspatialite/wiki?name=Stored+Procedures


--
*Ing. Salvatore Fiandaca*
*mobile*.:+39 327.493.8955
*m*: *[hidden email] <[hidden email]>*
*C.F*.: FNDSVT71E29Z103G
*P.IVA*: 06597870820
*membro QGIS Italia - http://qgis.it/ <http://qgis.it/>*
*socio GFOSS.it - *http://gfoss.it/
*blog:*
* https://pigrecoinfinito.com/ <https://pigrecoinfinito.com/> FB: Co-admin
- https://www.facebook.com/qgis.it/ <https://www.facebook.com/qgis.it/>**
<https://www.facebook.com/qgis.it/> *
*TW:  <http://goog_95411464>**https://twitter.com/totofiandaca
<https://twitter.com/totofiandaca>*

43°51'0.54"N  10°34'27.62"E - EPSG:4326

“Se la conoscenza deve essere aperta a tutti,
perchè mai limitarne l’accesso?”
R. Stallman

Questo documento, allegati inclusi, contiene informazioni di proprietà di
FIANDACA SALVATORE e deve essere utilizzato esclusivamente dal destinatario
in relazione alle finalità per le quali è stato ricevuto. E' vietata
qualsiasi forma di riproduzione o divulgazione senza l'esplicito consenso
di FIANDACA SALVATORE. Qualora fosse stato ricevuto per errore si prega di
informare tempestivamente il mittente e distruggere la copia in proprio
possesso.

_______________________________________________
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
I messaggi di questa lista non hanno relazione diretta con le posizioni dell'Associazione GFOSS.it.
764 iscritti al 23/08/2019

logfile.txt (18K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: stored procedure e messaggio finale NULL

a.furieri
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
_______________________________________________
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
I messaggi di questa lista non hanno relazione diretta con le posizioni dell'Associazione GFOSS.it.
764 iscritti al 23/08/2019
Reply | Threaded
Open this post in threaded view
|

Re: stored procedure e messaggio finale NULL

pigreco
Grazie mille per la rapida risposta.
Quindi non mi preoccupo.

Nuovamente grazie,
ma le stored procedure sono solo in spatialite o anche in sqlite?

saluti


Il giorno ven 11 giu 2021 alle ore 15:54 <[hidden email]> ha scritto:

> 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
> _______________________________________________
> [hidden email]
> http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
> Questa e' una lista di discussione pubblica aperta a tutti.
> I messaggi di questa lista non hanno relazione diretta con le posizioni
> dell'Associazione GFOSS.it.
> 764 iscritti al 23/08/2019



--
*Ing. Salvatore Fiandaca*
*mobile*.:+39 327.493.8955
*m*: *[hidden email] <[hidden email]>*
*C.F*.: FNDSVT71E29Z103G
*P.IVA*: 06597870820
*membro QGIS Italia - http://qgis.it/ <http://qgis.it/>*
*socio GFOSS.it - *http://gfoss.it/
*blog:*
* https://pigrecoinfinito.com/ <https://pigrecoinfinito.com/> FB: Co-admin
- https://www.facebook.com/qgis.it/ <https://www.facebook.com/qgis.it/>**
<https://www.facebook.com/qgis.it/> *
*TW:  <http://goog_95411464>**https://twitter.com/totofiandaca
<https://twitter.com/totofiandaca>*

43°51'0.54"N  10°34'27.62"E - EPSG:4326

“Se la conoscenza deve essere aperta a tutti,
perchè mai limitarne l’accesso?”
R. Stallman

Questo documento, allegati inclusi, contiene informazioni di proprietà di
FIANDACA SALVATORE e deve essere utilizzato esclusivamente dal destinatario
in relazione alle finalità per le quali è stato ricevuto. E' vietata
qualsiasi forma di riproduzione o divulgazione senza l'esplicito consenso
di FIANDACA SALVATORE. Qualora fosse stato ricevuto per errore si prega di
informare tempestivamente il mittente e distruggere la copia in proprio
possesso.
_______________________________________________
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
I messaggi di questa lista non hanno relazione diretta con le posizioni dell'Associazione GFOSS.it.
764 iscritti al 23/08/2019
Reply | Threaded
Open this post in threaded view
|

Re: {Disarmed} Re: stored procedure e messaggio finale NULL

a.furieri
On Fri, 11 Jun 2021 16:20:24 +0200, Totò Fiandaca wrote:
> Grazie mille per la rapida risposta.
> Quindi non mi preoccupo.
>
> Nuovamente grazie,
> ma le stored procedure sono solo in spatialite o anche in sqlite?
>

sono un'estensione a SQLite implementata da libspatialite.

SQLite ha una bella architettura spartanamente rudimentale
in cui c'e' solo lo stretto indispensabile.

ma e' molto facile sfruttare la sua struttura modulare
aperta e flessibile per aggiungere un sacco di ulteriori
funzionalita' piu' sofisticate ... che e' esattamente
quel che fa SpatiaLite.

ciao Sandro
_______________________________________________
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
I messaggi di questa lista non hanno relazione diretta con le posizioni dell'Associazione GFOSS.it.
764 iscritti al 23/08/2019