Что не так с этим запросом postgreSQL? - PullRequest
0 голосов
/ 16 декабря 2011

Я новичок в PostgreSQL (v8.4) и пытаюсь написать несколько простых функций.Мой первый эксперимент, однако, уже заканчивается неудачей.Я получаю сообщение об ошибке:

ERROR:  syntax error at or near ";"
LINE 7: begin; 

... и не вижу проблемы.Это выглядит правильно, согласно документации, которую я просматривал.

create or replace function create_user(
    user_name varchar(250),
    email_address varchar(250),
    approved boolean,
    email_is_unique boolean
    ) returns boolean as $$

begin;  

if email_is_unique
    && exists(select null from users as u where u.email = email_address) then

    raise exception 'The email address specified is already in use, and email addresses are configured to be unique.';
end if;

insert into users
    (
    user_name,
    email
    )
values
    (
    user_name,
    email_address
    );

return true;

end;

$$ language plpgsql;

1 Ответ

2 голосов
/ 16 декабря 2011

Вы должны удалить точку с запятой после begin

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...