【问题标题】:How to create custom functions in SQLite如何在 SQLite 中创建自定义函数
【发布时间】:2011-01-07 17:00:45
【问题描述】:

你能像在 MSSQL 中一样在 SQLite 中创建函数吗?

如果是这样,怎么做?语法是什么?

谢谢

【问题讨论】:

    标签: sqlite


    【解决方案1】:

    SQLite 没有存储函数/存储过程语言。所以CREATE FUNCTION 不起作用。您可以做的是将函数从 c 库映射到 SQL 函数(用户定义的函数)。为此,请使用 SQLite 的 C API(请参阅:http://www.sqlite.org/c3ref/create_function.html

    如果您不使用 C API,您的包装 API 可能会定义一些允许您访问此功能的内容,例如:

    【讨论】:

    • @Andrew:既然您提到了 MSSQL,您可能想知道 SQLite UDF 很容易在任何 CLR 语言中使用 System.Data.SQLite 提供程序实现 .NET。 sqlite.phxsoftware.com
    • 如果您按照本答案中提到的方式映射用户定义的函数,它是保留在 sqlite 数据库中还是每次加载数据库时都必须映射它?
    • 好问题。我认为您可能需要重新映射。
    • 这条评论帮助我弄清楚如何实际编写 UDF:stackoverflow.com/questions/7867099/…
    • 在 Python + SQLAlchemy 的情况下,您可以使用类似 engine.connect().connection.create_function() 的东西来访问 sqlite 的原生 create_function() 方法。林克:docs.sqlalchemy.org/en/latest/core/…
    【解决方案2】:

    这可能对许多人有用:在 SQLiteStudio 中,可以通过例如 sql 内置插件从界面轻松定义新函数和排序规则。

    https://github.com/pawelsalawa/sqlitestudio/wiki/Official_plugins#sql-built-in

    通过函数编辑器。

    【讨论】:

      猜你喜欢
      • 2011-12-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-19
      相关资源
      最近更新 更多