gpt4 book ai didi

postgresql - 如何初始化行数据类型变量?

转载 作者:行者123 更新时间:2023-11-29 14:30:30 24 4
gpt4 key购买 nike

我想创建一个函数来初始化并返回表的行数据类型

CREATE FUNCTION get_default_table_row_object() 
RETURNS mytable AS $$
DECLARE
row mytable;
BEGIN
row.field1 := 0;
row.field2 := -1;
row.record_reg_id := 1;
row.record_upd_id := 1;
row.record_reg_date := current_timestamp;
row.record_upd_date := current_timestamp;

RETURN row;
END;
$$ LANGUAGE plpgsql;

因为我的表有很多列,我需要在几个函数中创建几十个变量。我想将上述功能用作

CREATE FUNCTION some_function() RETURNS VOID AS $$
DECLARE
i_obj1 mytable := get_default_table_row_object(); -- declare and initialize default values
BEGIN
-- function body
END;
$$ LANGUAGE plpgsql;

但这给了我错误错误:不支持行或记录变量的默认值。有办法解决吗?

最佳答案

你可以在正文中设置它,像这样:

CREATE FUNCTION some_function() RETURNS VOID AS $$
DECLARE
i_obj1 mytable; -- declare only
BEGIN
i_obj1 := get_default_table_row_object(); -- set default values
END;
$$ LANGUAGE plpgsql;

关于postgresql - 如何初始化行数据类型变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52529915/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com