2010-01-21 14 views

risposta

37

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:

+5

@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

+2

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

+1

Buona domanda. Penso che potresti dover ri-mappare. –

Problemi correlati