小编Gus*_*lfo的帖子

使用变量来确定 Postgres 中 select 中的列名

我正在尝试从旧表创建新表结构的更新,但不使用函数。我正在尝试为其创建一个脚本。旧表是这样的:

旧表 ( OldTable)

姓名 可乐 列b 列_c
ABC 0 无效的 1
DEF 1 1 1
生长激素指数 无效的 1 0

并且,新表:

Users:

ID 姓名
1 ABC
2 DEF
3 生长激素指数

Rules:

ID 规则名称
1 可乐
2 列b
3 列_c
4 寒冷的

UserRule

ID_USER ID_规则

因此,我需要使用 TableMix 上的选择结果填充表 UserRules,其中用户名等于表 User 上的用户名,并且 TableMix 中列 <col_name> 的值等于 1。(select <col_name>来自 OldTable,其中 OldTable.name = Users.name)。嗯,我正在尝试这个:

DO $$
    DECLARE rules CURSOR FOR SELECT column_name FROM information_schema.columns
        WHERE table_schema = 'public' AND table_name   = …
Run Code Online (Sandbox Code Playgroud)

postgresql scripting dynamic-sql select

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

标签 统计

dynamic-sql ×1

postgresql ×1

scripting ×1

select ×1