sqlite 的 Python db-api 实现有一个方便的方法 executescript() 来执行多语句 SQL 脚本。例如对于创建数据库非常有用。请参阅sqlite 驱动程序文档。
我找不到用于 PostgreSQL 的 Psycopg db-api 驱动程序的类似驱动程序。executescript() 是否存在于 Psycopg 中?有什么选择吗?
谢谢
sqlite 的 Python db-api 实现有一个方便的方法 executescript() 来执行多语句 SQL 脚本。例如对于创建数据库非常有用。请参阅sqlite 驱动程序文档。
我找不到用于 PostgreSQL 的 Psycopg db-api 驱动程序的类似驱动程序。executescript() 是否存在于 Psycopg 中?有什么选择吗?
谢谢
引用有线协议文档,重点补充说:
一个简单的查询周期是由前端向后端发送一条查询消息来启动的。该消息包括一个以文本字符串表示的 SQL 命令(或多个命令) 。然后后端根据查询命令字符串的内容发送一条或多条响应消息,最后发送一条 ReadyForQuery 响应消息。ReadyForQuery 通知前端它可以安全地发送新命令。(在发出另一个命令之前,前端实际上没有必要等待 ReadyForQuery,但是前端必须负责弄清楚如果前面的命令失败并且已经发出的后面的命令成功了会发生什么。)
...然后:
由于一个查询字符串可能包含多个查询(以分号分隔),因此在后端完成对查询字符串的处理之前可能会有多个这样的响应序列。当整个字符串被处理并且后端准备好接受一个新的查询字符串时,ReadyForQuery 被发出。
因此,cursor.execute()
可以为标准调用提供一个以分号分隔的单个查询列表以运行。