我有以下问题。
1.我将从webservice接收文本形式的输入,并将其插入到某个psql表中。
创建表测试(id序列,myvalues文本[])
接收到的输入将是:insert into test(myvalues) values ('this,is,an,array');
1.我想在插入之前创建一个触发器,以便能够将此字符串转换为text []并插入它
我想到的第一个想法是在插入之前创建触发器
create function test_convert() returns trigger as $BODY%
BEGIN
new.myvalues = string_to_array(new.myvalues,',')
RETURNS NEW
END; $BODY$ language plpgsql
但这不起作用
3条答案
按热度按时间fnx2tebb1#
可以使用
string_to_array
函数将字符串转换为插入查询中得字符串数组:uubf1zoe2#
假设您收到
this is an array
的文本,并且您想将其转换为this,is,an,array
,那么您可以使用string_to_array('this is an array', ' ')
,它将被转换。但是,如果您收到的是逗号分隔的文本,那么您可以直接使用它。lnlaulya3#
创建表模式如下所示,
像这样插入值将帮助您插入数组,