第一次用这个数据库,装的是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;
解决方案 »
- mysqldump 不是内部命令或外部命令,也不是可执行的命令怎么回事
- sum求和问题
- 先创建临时表插入数据,再定义游标变量报错
- 关于count 问题
- java里 drop慢
- 这个sql怎么写呀 谢谢
- mysql客户端连接失败
- 把mysql的data目录下的数据库文件拷贝到另一台机器的mysql的data目录下,为什么myisam的表可以用,innoDB却出错?
- 请问:当MYSQL数据库连接上后进行INSERT操作时网络断了,可mysql_query函数不返回,怎么办?
- 关于一对多表关联查询,父表数据出现重复现象该怎么解决?
- 求助,vc6.0下postgresql8.3.4 中文显示乱码?
- 怎么查询第一条记录就返回
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谢谢楼上几位的帮忙了,结贴了