第一次用这个数据库,装的是8.4版的,用自带的工具pgadmin创建函数总报错,下面代码是工具自动生成的,
CREATE FUNCTION wdtest() RETURNS integer AS
$BODY$begin
return 1;
end;$BODY$
LANGUAGE 'sql' VOLATILE;
ALTER FUNCTION wdtest() OWNER TO postgres;错误提示:
发生一个错误;
ERROR: syntax error at or near "return"
LINE 3: return 1;
CREATE FUNCTION wdtest() RETURNS integer AS
$BODY$begin
return 1;
end;$BODY$
LANGUAGE 'sql' VOLATILE;
ALTER FUNCTION wdtest() OWNER TO postgres;错误提示:
发生一个错误;
ERROR: syntax error at or near "return"
LINE 3: return 1;
begin
return 1;
end;
$$ LANGUAGE plpgsql
qw$# begin
qw$# return 1;
qw$# end;
qw$# $$ LANGUAGE plpgsql;
CREATE FUNCTION
begin
return 1;
end;
$$ LANGUAGE plpgsql;在命令行下输入试试
CREATE FUNCTION wdtest() RETURNS integer AS $$
'select 1';
$$ LANGUAGE sql;
就建上了。现在问题是怎么测试我的函数
AS $$ SELECT $1, CAST($1 AS text) || ' is text' $$
LANGUAGE SQL;SELECT * FROM dup(42);
CREATE TYPE dup_result AS (f1 int, f2 text);CREATE FUNCTION dup(int) RETURNS dup_result
AS $$ SELECT $1, CAST($1 AS text) || ' is text' $$
LANGUAGE SQL;SELECT * FROM dup(42);
打开SQL_Shell
Server[localhost]:输入你的主机,不输入默认是本机
Database[postgres]:你的数据库名称
Port[5432]:端口
Username[postgres]:登陆用户
登陆成功后,输入CREATE LANGUAGE ‘plpgsql’ HANDLER plpgsql_call_handler在pgAdmin中就可以选plpgsql了,如果之前打开了pgAdmin,要重启一下
命令在下面网址打的
http://blog.donews.com/dcgame/archive/2009/02/27/1472173.aspx谢谢楼上几位的帮忙了,结贴了