小编new*_*der的帖子

有没有办法在 postgres 中访问其他会话的临时表?

我正在使用一个使用(本地)postgres 数据库并将一些信息存储在临时表中的 Windows 应用程序。我想看看临时表,但是 pgadmin 和 dbVis 告诉我:ERROR: cannot access temporary tables of other sessions在尝试查询数据时。我尝试更改架构和表的权限,但这似乎没有帮助,即使我使用与程序本身相同的用户访问数据库(至少在 dbVis 中)。是否有我可以在我的数据库中更改的设置,允许我对数据库中的所有会话进行“root”访问?

postgresql pgadmin

21
推荐指数
2
解决办法
2万
查看次数

为什么 NOT IN 包含 NULL 的集合总是返回 FALSE/NULL?

我有一个查询(针对 Postgres 和 Informix),其中NOT IN包含一个子查询,该子查询在某些情况下返回NULL值,导致该子句(以及整个查询)无法返回任何内容。

理解这一点的最佳方式是什么?我认为NULL没有价值的东西,因此不希望查询失败,但显然这不是考虑NULL.

postgresql null query informix

21
推荐指数
1
解决办法
1万
查看次数

NVL 代表什么?

代表什么NVL?我说的是 Oracle 和 Informix(也许还有其他一些)函数用于从查询结果中过滤掉非 NULL 值(类似于COALESCE其他数据库)。

oracle informix functions

19
推荐指数
2
解决办法
2万
查看次数

使用 CASE 在 UPDATE 查询中选择列?

我可以CASE用来选择在SELECT查询 (Postgres) 中显示哪些列,如下所示:

SELECT CASE WHEN val = 0 THEN column_x
            WHEN val = 1 THEN column_y
            ELSE 0
       END AS update, ...
Run Code Online (Sandbox Code Playgroud)

UPDATE在 Postgres 中执行查询时是否有可能发生类似的事情(即选择应该更新哪些列)?我假设不是,因为我找不到任何关于此的信息,但也许有人有一个聪明的选择(除了使用过程或使用 a 更新每一列CASE来确定是否应为该列的值分配一个新值或简单地重新分配现有的价值)。如果没有简单的选择,我当然也会接受它作为答案。

额外信息:在我的情况下,我有 14 个可能的列可以更新,每个匹配行只更新一个(要更新的表与查询中的另一个表连接)。要更新的行数很可能会有所不同,可能是数十或数百。我相信加入条件的索引已经到位。

postgresql update

16
推荐指数
2
解决办法
8万
查看次数

标签 统计

postgresql ×3

informix ×2

functions ×1

null ×1

oracle ×1

pgadmin ×1

query ×1

update ×1