python - Postgres 仅在表存在时选择

标签 python postgresql select exists

如何执行

select * from my_table

但如果 my_table 不存在则避免抛出错误

这可能吗?

更新:我在 Odoo 中工作,当用户按下按钮时我创建了表格,所以第一次安装我的模块时表格将不存在,我不想看到错误。

我用 python 解决了这个问题:

try: cr.execute(my_query)
expetion: pass

如果我不够明确,我很抱歉,这是我在这里的第一个问题:P

最佳答案

您是否在某种功能中运行它?如果不是,整个问题就没有意义......如果是 - 只需 try catch 错误,如下所述:http://www.postgresql.org/docs/9.1/static/plpgsql-control-structures.html#PLPGSQL-ERROR-TRAPPING

您需要捕获 42P01 undefined_table SQLSTATE。

所以在你的函数中你可以这样做:

BEGIN
  SELECT * FROM sometable
EXCEPTION 
  WHEN undefined_table THEN
    -- Do something
  WHEN others THEN
    -- Do something else
END;

关于python - Postgres 仅在表存在时选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28865553/

相关文章:

python - Flask 项目转换为包时出错

ruby-on-rails - 使用并发 Rails 和 Sidekiq 作业的结果

javascript - 当 onfocus 设置选择大小时,Google Chrome 会崩溃

html - 下拉列表中的最后一个选项在 Google Chrome 中没有获得悬停效果 32.0.1700.76 m

python - 在 virtualenv 中安装 Python-Dbus

python - 更新的代码 - 如何使用 xlsxwriter 将所有值放在 Python 中的列中

python - 如何在ndarray中找到数字层的总和

sql - 在 React 迭代中显示最后一个 child

sql - postgresql,奇怪的 OFFSET/LIMIT 行为(记录顺序)

javascript - 使用 jquery/javascript 的 switch 语句和循环