【问题标题】:How to create a parameter in a PostgreSQL function with multiple values in it?如何在包含多个值的 PostgreSQL 函数中创建参数?
【发布时间】:2018-09-24 01:15:50
【问题描述】:

我正在 PostgreSQL 中处理一个函数,我需要在其中创建一个参数并在其中传递多个值。

例如,我有一个名为group 的表,它有两个字段:group_ckgroupidgroupid 的值如下:

(abc,def,lsm,fed,sedd,erer,dlojn)

group_ck 是一个序列号。

现在我需要构建一个函数并传递groupid 值。我知道在 sql 中我们可以定义:

@group in=('abc','def','lsm','fed','sedd','erer','dlojn')

但在 PostgreSQL 中,它不是这样工作的。谁能帮助我并提供一个关于如何在参数中传递多个值的示例?

【问题讨论】:

标签: postgresql


【解决方案1】:

您可以将数组作为参数:

CREATE FUNCTION my_function(params text[])

然后你就可以在函数内部使用类似的东西来检查它

my_value = ANY(params)

(params 应该是你的groupid)

【讨论】:

  • 谢谢,这就是我所做的,它抛出了一个错误。如果存在 abc (CHARACTER),则删除函数;创建或替换函数 abc (,p_grgr_id CHARACTER) RETURNS VOID AS $$ declare l_GRGR_ID CHARACTER (100); if coalesce(trim(p_grgr_id), '') = '' THE l_grgr_id= grgr_id from group where grgr_id like 'PEND%' and grgr_id= all(array[PENDD,PENDL,PENDC,PENDM,PENDF]);否则 l_grgr_id:= p_grgr_id;万一;提高信息'l_grgr_id:%',l_grgr_id;错误说:列“挂起”不存在
  • 您的评论中有很多语法错误。请使用小提琴来证明您的问题:dbfiddle.uk
猜你喜欢
  • 2010-11-25
  • 1970-01-01
  • 2018-06-25
  • 1970-01-01
  • 2014-10-20
  • 2018-08-23
  • 1970-01-01
  • 1970-01-01
  • 2016-03-07
相关资源
最近更新 更多