首页 > 解决方案 > 如何将值传递给类型参数从一个函数到另一个

问题描述

早上好。

我创建了具有 114 个参数的类型,以作为 IN 参数传递给函数 schemaA.func114 。

 do $$
    begin
    create type type_t as             ( P_mode  varchar,
                                        p_env   VARCHAR,
                                        p_log   VARCHAR,
                                        p_method  VARCHAR,
                                        P_p1    VARCHAR,
                                        P_p2    VARCHAR,
                                        .
                                        .
                                        P_p114  NUMERIC);
    EXCEPTION
        WHEN duplicate_object THEN null;
    END $$; 

函数 schemaA.func114 具有与类型“type_t”相同的 114 个参数。函数 schemaB.func110 有 110 个参数。除了以下四个额外参数外,它的参数与类型“type_t”相同。

P_mode
p_env
p_log
p_method


create or replace  function schemaA.func114(p_type_parmaters type_t)
RETURNS void AS
$$
declare
  begin
  raise notice 'func114 called';

perform schemaB.func110(P_p1    VARCHAR,
                        P_p2    VARCHAR,
                                        .
                                        .
                        P_p110  NUMERIC);

raise notice 'func110 called';                         
end $$ language plpgsql; 

我需要以下帮助。

如何将值传递给 schemaA.func114 函数的 pramter “p_type_parmaters”。如何为 schemaB.func110 创建类型。如何从 schemaA.func114 函数将值传递给 schemaB.func110 函数的参数。

提前致谢。

标签: postgresql

解决方案


推荐阅读