我创建了以下函数来验证数据库中的客户端:
create or replace function altaClient(p_nombre cliente.nombre%type,p_repcod cliente.repcod%type,p_limcred cliente.limcred%type)
RETURNS varchar as $$
declare
begin
if p_nombre in (select nombre from cliente) THEN
RAISE 'El cliente ya está registrado';
end if;
insert into cliente (cliecod,nombre,repcod,limcred)
values (nextval('cliecod'),p_nombre,p_repcod,p_limcred);
return 'El cliente se ha dado de alta correctamente';
if p_repcod not in (select * from cliente where repcod=p_repcod) THEN
RAISE 'El representant no existeix';
end if;
end;
$$ LANGUAGE plpgsql;
但是当我尝试使用它时,我收到了这个错误:
training=> select altaClient("Samuel S.A",101,20000.2); ERROR: column "Samuel S.A" does not exist LINE 1: select altaClient("Samuel S.A",101,20000.2);
知道错误是什么意思吗?我读了一下,似乎我必须在函数中使用execute,但我不确定。
答案 0 :(得分:0)
在PostgreSQL中,'和"。 "用于区分大小写的对象名称(表,字段和其他)。请将您的查询更改为:
select altaClient('Samuel S.A',101,20000.2);