是否可以使用kinterbasdb库为Firebird数据库从Python执行DDL脚本?
基本上我想复制'isql -i myscript.sql'命令。
答案 0 :(得分:2)
我使用kinterbasdb已经有一段时间了,但据我所知,你应该可以使用任何查询命令来执行此操作,该命令也可以用于INSERT,UPDATE和DELETE(即不会产生结果集)。所以Connection.execute_immediate和Cursor.execute应该可以工作。
你真的试过吗。
BTW:使用Firebird建议不要在一次交易中混合使用DDL和DML。
修改强>
我刚刚意识到你可能意味着一个包含多个语句的完整DDL脚本,如果这就是你的意思,那么:不,你不能,你需要单独执行每个语句。
您可能可以使用EXECUTE BLOCK语句,但是您可能需要修改脚本以至于更容易简单地尝试将实际脚本拆分为单独的语句。