在单个查询中设置和选择? [英] SET and SELECT within a single query?
本文介绍了在单个查询中设置和选择?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想知道是否可以在单个查询中进行 SET 和 SELECT.像这样:
I'm wondering if it's possible to SET and SELECT within a single query. Something like this:
SET LOCAL search_path TO "1"; SET LOCAL ROLE "user"; SELECT * from posts;
推荐答案
你可以这样做:
with some_set as (
select set_config('search_path', '"1"', true)
)
select * from posts;
或者只是带有 set_config()
的 SELECT
调用没有 CTE,但这通常不会帮助你,因为:
or just SELECT
with set_config()
calls w/o CTE, but this in general will not help you because:
无法保证您会获得所需的查询部分的执行顺序(请记住,SQL 是一种声明性语言,另请参见 nofollowhttps://www.google.com/search?q=postgresql+cte+order+not+guaranteed&oq=postgresql+cte+order+&aqs=chrome.1.69i57j69i59l2j69i64.6362j0j7&sourceid=chrome&ie=UTF-8 和 https://dba.stackexchange.com/问题/86263/managing-cte-execution-order-under-uncertainty)
AFAIK 无法使用 SELECT
切换数据库角色.
AFAIK there is no way to switch DB role with SELECT
.
这篇关于在单个查询中设置和选择?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文