如何在PostgreSQL中将自定义类型的多维数组作为函数参数传递?

藤蔓

我做了一个简单的自定义类型:

CREATE TYPE public."FriendDetails" AS
   ("Email" character varying,
    "Name" character varying);
ALTER TYPE public."FriendDetails"
  OWNER TO postgres;

在以下函数中使用(它仅返回一个字符串- contact!):

CREATE OR REPLACE FUNCTION public."addFriend"(
    "GroupName" character varying,
    friends "FriendDetails"[])
  RETURNS character varying AS
$BODY$BEGIN
    RETURN "contact!";
END;$BODY$
  LANGUAGE plpgsql VOLATILE
  COST 100;
ALTER FUNCTION public."addFriend"(character varying, "FriendDetails"[])
  OWNER TO postgres;

上面的代码是使用pgAdminIII生成的。

我试图查询它,如下所示:

select addFriend('Champs',ARRAY[['qwe','asd'],['zxc','rty']]::public."FriendDetails"[]);

并得到一个错误:

ERROR:  malformed record literal: "qwe"
LINE 1: select addFriend('Champs',ARRAY[['qwe','asd'],['zxc','rty']]...
                                         ^
DETAIL:  Missing left parenthesis.
********** Error **********

ERROR: malformed record literal: "qwe"
SQL state: 22P02
Detail: Missing left parenthesis.
Character: 34

我尝试替换大括号({}),并丢失了大括号ARRAY,但似乎无济于事-它们会导致语法错误。

有人可以好心地说明使用(1)花括号和(2)ARRAY构造函数来调用该方法的语法

阿贝里斯托

您的代码中有错误:

将圆括号用于行/记录类型常量

ARRAY[('qwe','asd'),('zxc','rty')]

在函数名称中添加双引号:

select "addFriend"('Champs',ARRAY[('qwe','asd'),('zxc','rty')]::public."FriendDetails"[]);

对字符串常量使用单引号:

RETURN 'contact!';

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Swift中将自定义类型作为返回函数?

来自分类Dev

如何将自定义类型作为参数传递给已编译的cmdlet?

来自分类Dev

如何在反应中将自定义onClick函数从父级传递给子级

来自分类Dev

如何在自定义ImageView中将R.Drawable作为参数传递

来自分类Dev

自定义类型作为参数传递

来自分类Dev

如何在传递对象作为参数的同时解析自定义类型

来自分类Dev

如何在 postgresql 9.6 中将 json 数组作为函数参数传递

来自分类Dev

如何在PL / SQL成员函数中将自定义类型与嵌套表一起使用?

来自分类Dev

如何在JavaScript中将自调用函数作为函数参数传递?

来自分类Dev

如何在swiftui中将自定义图像作为navigationBarItem插入

来自分类Dev

如何在Openbox中将自定义脚本作为屏幕保护程序运行?

来自分类Dev

如何在Azure AD App中将自定义属性传递给重定向URL?

来自分类Dev

表单 - 如何在 Symfony 4 中将自定义选项传递给 CollectionType 子项

来自分类Dev

在 Excel 自定义函数中将 NOW() 作为参数传递会给出 #VALUE!错误?

来自分类Dev

如何在PyMC中将自定义函数应用于变量?

来自分类Dev

如何在PyMC中将自定义函数应用于变量?

来自分类Dev

如何在Java中将自定义颜色添加到数组中?

来自分类Dev

在C中将多维数组作为参数传递

来自分类Dev

如何将函数作为参数传递给Javascript中的自定义函数

来自分类Dev

如何在iOS中将自定义类转换为自定义框架?

来自分类Dev

将多维数组作为函数参数传递

来自分类Dev

将多维数组作为函数参数传递

来自分类常见问题

如何将System.Xml.XmlElement作为自定义Powershell函数的管道参数传递?

来自分类Dev

如何将System.Xml.XmlElement作为自定义Powershell函数的管道参数传递?

来自分类Dev

Google Scripts 自定义函数 - 范围数组作为参数

来自分类Dev

如何在自定义函数中添加函数作为参数 - swift?

来自分类Dev

将自定义结构作为参数传递会导致分段错误

来自分类Dev

无法将自定义方法作为参数传递给 ElapsedEventHandler()

来自分类Dev

如何在Python中将函数作为函数参数传递

Related 相关文章

  1. 1

    如何在Swift中将自定义类型作为返回函数?

  2. 2

    如何将自定义类型作为参数传递给已编译的cmdlet?

  3. 3

    如何在反应中将自定义onClick函数从父级传递给子级

  4. 4

    如何在自定义ImageView中将R.Drawable作为参数传递

  5. 5

    自定义类型作为参数传递

  6. 6

    如何在传递对象作为参数的同时解析自定义类型

  7. 7

    如何在 postgresql 9.6 中将 json 数组作为函数参数传递

  8. 8

    如何在PL / SQL成员函数中将自定义类型与嵌套表一起使用?

  9. 9

    如何在JavaScript中将自调用函数作为函数参数传递?

  10. 10

    如何在swiftui中将自定义图像作为navigationBarItem插入

  11. 11

    如何在Openbox中将自定义脚本作为屏幕保护程序运行?

  12. 12

    如何在Azure AD App中将自定义属性传递给重定向URL?

  13. 13

    表单 - 如何在 Symfony 4 中将自定义选项传递给 CollectionType 子项

  14. 14

    在 Excel 自定义函数中将 NOW() 作为参数传递会给出 #VALUE!错误?

  15. 15

    如何在PyMC中将自定义函数应用于变量?

  16. 16

    如何在PyMC中将自定义函数应用于变量?

  17. 17

    如何在Java中将自定义颜色添加到数组中?

  18. 18

    在C中将多维数组作为参数传递

  19. 19

    如何将函数作为参数传递给Javascript中的自定义函数

  20. 20

    如何在iOS中将自定义类转换为自定义框架?

  21. 21

    将多维数组作为函数参数传递

  22. 22

    将多维数组作为函数参数传递

  23. 23

    如何将System.Xml.XmlElement作为自定义Powershell函数的管道参数传递?

  24. 24

    如何将System.Xml.XmlElement作为自定义Powershell函数的管道参数传递?

  25. 25

    Google Scripts 自定义函数 - 范围数组作为参数

  26. 26

    如何在自定义函数中添加函数作为参数 - swift?

  27. 27

    将自定义结构作为参数传递会导致分段错误

  28. 28

    无法将自定义方法作为参数传递给 ElapsedEventHandler()

  29. 29

    如何在Python中将函数作为函数参数传递

热门标签

归档