【问题标题】:Creating Stored Procedures with SQLAlchemy使用 SQLAlchemy 创建存储过程
【发布时间】:2011-03-21 08:59:45
【问题描述】:

我正在编写一个 python 脚本来使用 SQLAlchemy 创建 postgres 数据库。我也想以同样的方式创建存储过程。我检查了 SQL Alchemy 文档,但无法找到是否可以使用它创建存储过程。有可能这样做吗?任何教程/示例都会有所帮助。我找到了一些关于如何使用 SQLAlchemy 调用 SP 的示例,但没有找到关于如何创建的示例。

提前致谢。 塔拉辛格

【问题讨论】:

  • 大多数 ORM 工具提供了使用存储过程的机制,但没有创建它们,因为创建存储过程的语言往往与相关数据库紧密相关。

标签: postgresql stored-procedures sqlalchemy


【解决方案1】:

您可以使用sqlalchemy.sql.expression.text 构造创建stored procedures(实际上,执行任何有效的SQL statement):

t = text("SELECT * FROM users WHERE id=:user_id")
result = connection.execute(t, user_id=12)

但这更像是 SQLAlchemy 的附录,而不是设计用途。
这也不能以独立于 DMBS 的方式完成,这是使用 SQLAlchemy 等ORM 工具的好处之一。
如果您的目标是对数据库模式进行版本控制,您仍然可以使用它,但您需要完全控制此过程并处理诸如 stored proceduresUDFsviews 之间的依赖关系之类的事情并创建/删除它们正确的顺序。

【讨论】:

    猜你喜欢
    • 2011-04-03
    • 1970-01-01
    • 2015-05-11
    • 1970-01-01
    • 1970-01-01
    • 2018-01-10
    • 1970-01-01
    • 2021-08-13
    相关资源
    最近更新 更多