arrays - 如何在 PostgreSQL 中创建类型?
问题描述
如何在 plpgsql 中创建数据类型?我是 PostgreSQL 新手,我正在将 oracle 程序转换为 postgresql 函数。他们在 oracle 中创建了一种类型,例如:
TYPE t_array IS TABLE OF VARCHAR2(4000) INDEX BY BINARY_INTEGER;
然后在如下过程中声明并使用它:
strings t_array;
strings(1) := lv_str;
我想t_array type
在 plpgsql 中创建并在函数中使用它,我该如何创建这样的类型或者是否有任何内置类型来在 plpgsql 中实现此功能?
解决方案
您不需要在 PL/pgSQL 中为此创建类型,只需声明一个数组变量:
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'])
推荐阅读
- php - 在 Laravel 中发送带有 json 对象数据的 post 请求
- c# - C# 表单身份验证中的表单 cookie 与会话 cookie
- java - Android AudioRecord 没有从另一个使用它的应用程序中取回麦克风并发生错误
- php - 如何使用 PDO 和 Prepared Statements 通过 PHP 函数调用返回 MySQL 记录?
- raspbian - 将 w1(1-wire)子系统权限设置为组写入
- python - RSA 验证 python、python-rsa 库中的 p 和 q 密钥
- javascript - 如何在作为对象属性值的数组上使用javascript reduce方法并仅输出正元素的总和?
- node.js - 如何解决 React:创建 webapp 时出现“编译失败;./src/App.js”错误
- reactjs - React Hooks 首先在 Websockets 中发送消息
- html - 为什么每次我重新刷新我的网站 html5 音频时自动播放都不起作用