【发布时间】:2014-05-15 07:14:45
【问题描述】:
我有如下表,名字是学生
S.No Name
1. Ramesh
2. Raju
3. SOmu
-------------
------------- etc
我的要求是当我传递 S.no 时,我将使用函数获取名称
我的功能如下:
CREATE OR REPLACE FUNCTION fn_name(v_sno bigint)
RETURNS TEXT
AS
$BODY$
DECLARE RESULT VARCHAR(5000);
BEGIN
SELECT RESULT "Name" FROM "Student" WHERE "s.no" = v_sno;
RETURN RESULT;
END;
$BODY$
LANGUAGE plpgsql
COST 100;
ALTER FUNCTION fn_name(bigint)
OWNER TO postgresql
但我收到以下错误。
错误:查询没有结果数据的目的地
SQL 状态:42601
提示:如果要丢弃 SELECT 的结果,请改用 PERFORM。
上下文:PL/pgSQL 函数 fn_name(bigint) 第 6 行 SQL 语句
请帮助我如何解决上述问题。
【问题讨论】:
-
您好,我从未见过您希望在其中存储数据的对象被放入这样的 sql 语句中。 (选择结果“名称”)
-
手册有什么问题?只需复制/粘贴其中一个示例,稍作更改即可完成。
-
创建或替换函数 fn_name(v_sno bigint) 将文本返回为 $BODY$ DECLARE RESULT VARCHAR(5000); BEGIN SELECT "Name" into RESULT FROM "Student" WHERE "s.no" = v_sno;返回结果;结尾; $BODY$ 语言 plpgsql 成本 100; ALTER FUNCTION fn_name(bigint) OWNER TO postgresql
标签: postgresql