【发布时间】:2013-02-02 17:34:19
【问题描述】:
我在 PostgreSQL 中使用简单的 SELECT 创建了一个存储过程/函数:
CREATE FUNCTION select_proc2()
RETURNS SETOF procedure AS
$DELIMETER$
SELECT * FROM procedure;
$DELIMETER$
LANGUAGE 'sql'
这个可行,但是当我试图像这样具体时:
CREATE FUNCTION select_proc2(INT)
RETURNS SETOF procedure AS
$DELIMETER$
SELECT "Fname" FROM procedure where "Id" = $1;
$DELIMETER$
LANGUAGE 'sql'
它返回一个错误:
错误:声明为返回过程的函数中的返回类型不匹配 详细信息:最终语句返回字符而不是整数 第 1 列. 上下文:SQL 函数“select_proc2”我尝试了任何我能想到的解决方案。这里有人知道如何解决这个错误吗?
【问题讨论】:
-
从您的表定义中,我们将能够看到您是否实际上使用双引号 CamelCase ("Id", "Fname") 命名了该列,或者您需要删除双引号。跨度>
标签: sql postgresql plpgsql postgresql-9.1 composite-types