2

我有一个将文本作为输入的函数。请注意参数最大长度为 256。如何传递更长的文本?

示例代码:

CREATE FUNCTION Test(nameid text)
.... # do something # ....

\0如果长度 nameid > 256 因为最后不存在,我有错误。所以我想 postgres 截断(strcat_s?)参数。有没有一种简单的方法来传递任意长度的参数文本?

我已经尝试过,varchar(1024)text它不起作用。结果相同:在 256 个字符处截断。

编辑

我正在与SPI lib 结合使用。我从 C 代码中调用 plpg 函数。256 的错误是我的(需要休息一下)。我使用了strcpy_s256 字符限制:\ [已解决]

4

1 回答 1

-1

在 Postgresql 中创建函数时,您只需指定“字符变化”与使用“文本”作为文本参数相同,您应该能够使用超过 256 个字符...

举个例子:

CREATE OR REPLACE FUNCTION aaa.function_name(integer, character varying)
RETURNS refcursor AS...

问候

于 2013-01-18T14:44:50.177 回答