Ada*_*dam 4 postgresql function pgadmin
我正在尝试使用pgAdmin在Postgres 8.4中创建一个函数,我有以下代码
CREATE OR REPLACE FUNCTION spcwriteperson(IN fname varchar(20))
RETURNS VOID AS
$BODY$
INSERT INTO person ("firstName") VALUES(fname);
$BODY$
LANGUAGE sql VOLATILE
COST 100;
Run Code Online (Sandbox Code Playgroud)
当我尝试运行它时,它抱怨VALUES(fname)的fname不是列.我来自于在MySQL和Sql Server中编写sprocs和函数.任何帮助为什么这不起作用,或我做错了什么?
如果您不喜欢使用编号参数,可以使用PL/PGSQL:
CREATE OR REPLACE FUNCTION spcwriteperson(fname varchar(20)) RETURNS VOID AS
$$
BEGIN
INSERT INTO person (firstName) VALUES (fname);
END
$$
LANGUAGE 'plpgsql';
Run Code Online (Sandbox Code Playgroud)
PL/PGSQL还会为您提供更像SQL Server的T-SQL的语言.PL/PGSQL具有控制结构,变量和所有有趣的东西.PostgreSQL的SQL语言实现对可用的功能要严格得多 - 它是SQL的一个很好的实现,但它是一种查询语言,而不是一种过程编程语言.