如何在Python中使用cx_Oracle执行非SQL命令

1 投票
1 回答
936 浏览
提问于 2025-04-18 01:54

我刚开始学习Python。有人能帮我弄明白如何在Python中使用cx_Oracle执行以下命令吗?

  1. 将结果输出到C:\drop_tables.sql这个文件
  2. 从user_tables表中选择每个表的名字,并生成删除表的命令,格式是'DROP TABLE 表名 CASCADE CONSTRAINTS;'。
  3. 停止输出到文件
  4. 执行C:\drop_tables.sql这个文件中的命令

我知道第二个命令可以用cursor.execute()来执行,但对于其他非SQL的命令,特别是第一个和第三个,我没有找到任何线索。

如果有人能帮忙,我会很感激。

谢谢,
Aravi

1 个回答

1

我通过以下方式达成了我的目标:

cur.execute("SELECT table_name FROM user_tables")

result = cur.fetchall()

对于每一行结果:

cur.execute('DROP TABLE ' + row[0] + ' CASCADE CONSTRAINTS')

非常感谢Luke给我的建议。

撰写回答