【发布时间】:2015-05-06 02:18:48
【问题描述】:
如何执行
select * from my_table
但如果 my_table 不存在,请避免抛出错误
有可能吗?
更新:我在 Odoo 中工作,我在用户按下按钮时创建表,所以当我的模块第一次安装时,表将不存在,我不想看到错误。
我用 python 解决了这个问题:
try: cr.execute(my_query)
expetion: pass
对不起,如果我不够明确,这是我在这里的第一个问题:P
【问题讨论】:
-
通过检查数据库元数据/模式信息表 - 这取决于 Postgre 存储它们的位置(即 MySQL 具有保存此类信息的特定表,在 Oracle 中可以从视图中查询它们)。您需要查看 DBMS 文档。
-
你怎么可能从一个不存在的表中查询?
-
奇怪的情况,不过你可以先查一下:postgresql.org/docs/current/interactive/infoschema-tables.html
-
你可以将它包装到一个函数中并在 PL/pgSQL 中捕获错误,但是你需要这样做
select * from my_table_function() -
如果没有表,查询应该返回什么?
标签: python postgresql select exists