如何循环穿过一排的列
我有一行,让它以这种格式
DECLARE
a t1%ROWTYPE;
BEGIN
SELECT * INTO a FROM t1 WHERE id=<some_id>
-- a = id: <some_id>, name: "some_name", description: "some_descr"
END;
,我需要将每列的一行插入t2
t2 TABLE
column_name TEXT, value JSONB
异常结果:
column_name | value
--------------------
id | '"some_id"'
name | '"some_name"'
description | '"some_descr"'
我该怎么做?
I have a row, let it be in this format
DECLARE
a t1%ROWTYPE;
BEGIN
SELECT * INTO a FROM t1 WHERE id=<some_id>
-- a = id: <some_id>, name: "some_name", description: "some_descr"
END;
And I need to insert one row per column into t2
t2 TABLE
column_name TEXT, value JSONB
Excepted result:
column_name | value
--------------------
id | '"some_id"'
name | '"some_name"'
description | '"some_descr"'
How can I do it?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
无需PL/PGSQL或循环。您可以将行从T1转换为JSON值,然后将这些密钥/值对转换为行:
No need for PL/pgSQL or a loop. You can convert the row from t1 to a JSON value, then turn those key/value pairs into rows: