Postgresql 使用SQLAlchemy创建存储过程

Postgresql 使用SQLAlchemy创建存储过程,postgresql,stored-procedures,sqlalchemy,Postgresql,Stored Procedures,Sqlalchemy,我正在编写一个python脚本来使用SQLAlchemy创建postgres数据库。我还想用同样的方法创建存储过程。我查看了SQL Alchemy文档,但无法找到是否可以使用它创建存储过程。有可能吗?任何教程/示例都会有所帮助。我找到了一些如何使用SQLAlchemy调用SP的示例,但没有找到如何创建SP的示例 提前谢谢。 Tara Singh您可以通过使用构造创建存储过程(实际上,执行任何有效的SQL语句): t = text("SELECT * FROM users WHERE id=:us

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

提前谢谢。
Tara Singh

您可以通过使用构造创建
存储过程
(实际上,执行任何有效的
SQL语句
):

t = text("SELECT * FROM users WHERE id=:user_id")
result = connection.execute(t, user_id=12)
但这更多的是SQLAlchemy的附录,而不是设计的用法。
此外,这不能以独立于DMBS的方式完成,这是使用
ORM
工具(如SQLAlchemy)的好处之一。

如果您的目标是对数据库模式进行版本控制,您仍然可以使用它,但是您需要完全控制这个过程,并处理诸如
存储过程
自定义项
视图
之间的依赖关系,并按正确的顺序创建/删除它们。

大多数ORM工具都提供了使用存储过程的机制,但不要创建它们,因为创建存储过程的语言往往与所讨论的数据库紧密相连。