2010-01-21 38 views

Trả lời

37

SQLite không có chức năng lưu trữ/ngôn ngữ thủ tục lưu trữ. Vì vậy, CREATE FUNCTION không hoạt động. Tuy nhiên, những gì bạn có thể làm là các hàm bản đồ từ một thư viện c đến các hàm SQL (các hàm do người dùng định nghĩa). Để làm điều đó, sử dụng C API SQLite (xem: http://www.sqlite.org/c3ref/create_function.html)

Nếu bạn không sử dụng C API, API wrapper của bạn có thể xác định một cái gì đó cho phép bạn truy cập vào tính năng này, xem ví dụ:

+5

@Andrew: Vì bạn đề cập đến MSSQL, bạn có thể quan tâm để biết rằng UDF SQLite dễ thực hiện trong bất kỳ ngôn ngữ CLR nào bằng cách sử dụng nhà cung cấp System.Data.SQLite cho .NET. http://sqlite.phxsoftware.com/ – Tim

+2

Nếu bạn ánh xạ một hàm do người dùng định nghĩa như bạn đã đề cập trong câu trả lời này, nó có giữ lại trong cơ sở dữ liệu sqlite hay bạn phải ánh xạ nó mỗi khi bạn tải db? – ThinkBonobo

+1

Câu hỏi hay. Tôi nghĩ bạn có thể phải tái bản đồ. –

Các vấn đề liên quan