postgresql - 使用 SQLAlchemy 创建存储过程

标签 postgresql stored-procedures sqlalchemy

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

提前致谢。 塔拉·辛格

最佳答案

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

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

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

关于postgresql - 使用 SQLAlchemy 创建存储过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3339917/

相关文章:

java - 如何使用 PostgreSQL DB 插入当前日期和时间并以特定格式检索它?

php - 基本 : CakePHP data not being saved nor validation working?

sql - 如何混淆SQL Sproc?

python - 截断表不适用于 SQL Server sqlalchemy 引擎和 pandas

python - 使用 create_engine 从 SQLAlchemy 到 MSSQL

postgresql - 我可以使用什么 select 语句来确定 1) 用户所属的角色和 2) 用户使用 PostgreSQL 可以访问的表?

postgresql - 如何使用pgcrypto在SQLAlchemy中实现列级PostgresQL加密?

mysql - 在 ubuntu 中授予问题

stored-procedures - 获取存储过程参数的类型

flask - 设置多对多sqlalchemy flask app sqlite db的插入顺序