我有一个将文本作为输入的函数。 请注意,参数最大长度为256。 我怎样才能传递更长的文字?
示例代码:
CREATE FUNCTION Test(nameid text)
.... # do something # ....
如果长度为nameid>我有错误256因为\0
最后没有出现。
所以我想postgres截断(strcat_s
?)参数。
是否有简单方式传递任意长度的参数文本?
我已经尝试varchar(1024)
而不是text
而且它无效。相同的结果:截断为256个字符。
修改
我正在与 SPI lib结合使用。
我从C代码调用plpg函数。
256的错误是我的(需要休息)。
我使用了strcpy_s
256个字符限制:\ [已解决]
答案 0 :(得分:-1)
在Postgresql中创建函数时,您只需指定“字符变化”与使用“text”作为文本参数相同,您应该能够使用超过256个字符...
例如:
CREATE OR REPLACE FUNCTION aaa.function_name(integer, character varying)
RETURNS refcursor AS...
此致