postgresql - plpgsql 为属性名后面的类型赋值
问题描述
我想为属性名称作为字符变化的类型分配一个值。
假设我有这种类型
create type HelloWorld as (hello character varying, world character varying)
DO
$body$
DECLARE
attr_name character varying := 'hello';
obj HelloWorld;
BEGIN
-- what I want is to do something like this
obj.attr_name = 'hello';
END;
$body$
LANGUAGE 'plpgsql';
可能吗?
解决方案
不,这是不可能的。复合类型的结构是非常静态的。不支持动态字段。
推荐阅读
- python - tkinter get() 无法返回用户输入2
- amazon-web-services - 拒绝除应用程序用户之外的所有人访问 AWS S3 文件
- sql - 从 Microsoft SQL Server 2012 表中删除部分重复行(仅两列中的重复数据)
- reactjs - 使用自定义钩子在 React Typescript 中传递道具
- php - 网络服务器上的 gettext 有多常见?
- python - 如何在事件处理程序(python-socket,sphinx)中保留文档字符串
- sql - 在繁忙时间更改存储过程 - 这会导致锁定和系统崩溃吗?
- c++ - 有没有办法在 c++11 中按索引初始化向量?
- javascript - 使用 P5 创建交互式地图
- excel - VBA Excel将文件保存在Excel宏创建的文件夹中