【问题标题】:How to create TYPE in PostgreSQL?如何在 PostgreSQL 中创建类型?
【发布时间】:2020-03-22 19:21:19
【问题描述】:

如何在 plpgsql 中创建数据类型?我是 PostgreSQL 新手,我正在将 oracle 程序转换为 postgresql 函数。他们在 oracle 中创建了一个类型,例如:

TYPE t_array IS TABLE OF VARCHAR2(4000) INDEX BY BINARY_INTEGER;

然后在如下过程中声明并使用它:

strings t_array;
strings(1) := lv_str;

我想在 plpgsql 中创建t_array type 并在函数中使用它,我该如何创建这样的类型或者是否有任何内置类型可以在 plpgsql 中实现此功能?

【问题讨论】:

    标签: arrays postgresql plpgsql ddl user-defined-data-types


    【解决方案1】:

    您不需要在 PL/pgSQL 中为其创建类型,只需声明一个 array 变量:

    declare
      l_strings text[];
    begin
      l_string[1] := 'This is the first string';
      l_string[2] := 'This is the second string';
    end;
    

    数组也可以用作参数:

    create function do_something(p_some_number integer, p_strings text[])
      returns ..
    as
    ...
    

    使用do_something(42, array['one', 'two'])调用它

    【讨论】:

      猜你喜欢
      • 2019-01-09
      • 1970-01-01
      • 2014-03-01
      • 2018-06-04
      • 1970-01-01
      • 2016-06-20
      • 1970-01-01
      • 2013-07-25
      • 2021-06-19
      相关资源
      最近更新 更多