2010-01-21 4 views

Répondre

37

SQLite n'a pas de fonction stockée/de langue de procédure stockée. Donc CREATE FUNCTION ne fonctionne pas. Ce que vous pouvez faire, cependant, c'est des fonctions de carte d'une bibliothèque c vers des fonctions SQL (fonctions définies par l'utilisateur). Pour ce faire, utilisez l'API SQLite C (voir: http://www.sqlite.org/c3ref/create_function.html)

Si vous n'êtes pas en utilisant l'API C, votre API wrapper peut définir quelque chose qui vous permet d'accéder à cette fonctionnalité, voir par exemple:

+5

@Andrew: Puisque vous mentionnez MSSQL, vous pourriez être intéressé de savoir que les UDF SQLite sont faciles à implémenter dans n'importe quel langage CLR en utilisant le fournisseur System.Data.SQLite pour .NET. http://sqlite.phxsoftware.com/ – Tim

+2

Si vous mappez une fonction définie par l'utilisateur comme vous l'avez mentionné dans cette réponse, est-elle conservée dans la base de données sqlite ou devez-vous la mapper chaque fois que vous chargez la base de données? – ThinkBonobo

+1

Bonne question. Je pense que vous pourriez avoir à re-cartographier. –

Questions connexes