问答

pgsql 想把select 出来的指赋值给一个变量,并使用这个变量分别

作者:admin 2021-10-13 我要评论

` postgres=# select oid from pg_class where relname=:'tablename'; oid------- 24678(1 row)以下是我失败的几个尝试:postgres=# select oid into partition_...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)

`

postgres=# select oid from pg_class  where relname=:'tablename';
  oid
-------
 24678
(1 row)
以下是我失败的几个尝试:

postgres=# select oid into partition_table_id from pg_class where relname=:'tablename';
ERROR: There is no hash distributable column

postgres=# select oid from pg_class where relname=:'tablename' into partition_table_id;
ERROR: syntax error at or near "into"
LINE 1: ...t oid from pg_class where relname='table_level_1' into parti...

`

###
DECLARE variable_col int := (SELECT oid FROM pg_class WHERE relname='tablename');

SELECT * FROM pg_class WHERE oid=variable_col;

手头没 pg 库,没执行,大概意思理解一下。

P.S. variable_col 是变量名,我瞎起的;int 记得改成你那个 oid 的数据类型。

###
postgres=# select oid as var from pg_class where relname='pg_toast_16384' \gset

postgres=# select oid,relname as var from pg_class where oid=:var;
  oid  |      var
-------+----------------
 16387 | pg_toast_16384
(1 row)

postgres=# select :'var';
 ?column?
----------
 16387
(1 row)

postgres=# select :'var'||'123';
 ?column?
----------
 16387123
(1 row)

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • pgsql 想把select 出来的指赋值给一个

    pgsql 想把select 出来的指赋值给一个

  • postgre drop table   根据表名 模糊删

    postgre drop table 根据表名 模糊删

  • Vue+node+MySQL实现个人信息管理系统,

    Vue+node+MySQL实现个人信息管理系统,

  • 在移动端播放音频时 回到桌面时让音频

    在移动端播放音频时 回到桌面时让音频

腾讯云代理商
海外云服务器