好的,问题是我在我的数据库上做了一个登录控制器。部分原因是这个函数可以创建如下所示的用户:
create or replace function crear_usuario(par_usuario varchar,par_clave text,
par_nombre varchar,par_correo varchar) RETURNS integer AS $$
DECLARE
existe int;
clave_cript bytea;
llave text;
BEGIN
/* 0:Insertado con exito | 1:Usuario ya registrado*/
select into existe count(id) from usuarios where usuario=$1;
if existe=0 then
select into llave 'encrypt key';
select into clave_cript encrypt(llave,$2,'3des');
insert into usuarios (usuario,clave,nombre,correo) values ($1,clave_cript,$3,$4);
end if;
RETURN existe;
END;
$$ LANGUAGE plpgsql RETURNS NULL ON NULL INPUT ;
错误显示在加密函数的行中,我在cli中测试了它。
有什么想法吗?
答案 0 :(得分:0)
Looking up错误编号清楚地告诉您,找不到函数encrypt
()。
可能
encrypt
()函数由您忘记在该数据库上安装的扩展程序提供(通过CREATE EXTENSION
)encrypt
()是自定义函数,可能需要先运行其他一些脚本,然后才能在此函数之前创建该函数。