È possibile creare funzioni in SQLite come si può in MSSQL?Come creare funzioni personalizzate in SQLite
Se sì, come? Qual è la sintassi?
Grazie
È possibile creare funzioni in SQLite come si può in MSSQL?Come creare funzioni personalizzate in SQLite
Se sì, come? Qual è la sintassi?
Grazie
SQLite non ha una lingua memorizzata funzione/stored procedure. Quindi CREATE FUNCTION
non funziona. Ciò che si può fare è però utilizzare le funzioni della mappa da una libreria c alle funzioni SQL (funzioni definite dall'utente). Per fare questo, utilizzare API C di SQLite (vedi: http://www.sqlite.org/c3ref/create_function.html)
Se non si utilizza l'API C, il vostro wrapper API può definire qualcosa che ti permette di accedere a questa funzione, si veda ad esempio:
sqlite_create_function()
(http://www.php.net/manual/en/function.sqlite-create-function.php)sqlite3.create_function()
(http://docs.python.org/2/library/sqlite3.html#sqlite3.Connection.create_function)$dbh->func(_$name,_$argc,_$func_ref,_"create_function")
(https://metacpan.org/pod/DBD::SQLite#dbh-sqlite_create_function-name-argc-code_ref)Questo potrebbe essere utile a molti: in SQLiteStudio è possibile definire facilmente nuove funzioni e regole di confronto dall'interfaccia tramite un plug-in di sql incorporato, ad esempio.
https://github.com/pawelsalawa/sqlitestudio/wiki/Official_plugins#sql-built-in
Attraverso l'editor di funzione.
@Andrew: Poiché si menziona MSSQL, potrebbe essere interessante sapere che le UDF SQLite sono facili da implementare in qualsiasi linguaggio CLR utilizzando il provider System.Data.SQLite per .NET. http://sqlite.phxsoftware.com/ – Tim
Se si mappa una funzione definita dall'utente come menzionato in questa risposta, la mantiene nel database sqlite o la si deve mappare ogni volta che si carica il db? – ThinkBonobo
Buona domanda. Penso che potresti dover ri-mappare. –