如果我在 PostgreSQL 中有一个函数,我可以username
像这样验证它的参数(例如一个参数):
IF LENGTH(username) < 4 THEN
RAISE EXCEPTION 'Usernames must contain at least four characters';
END IF;
我想不通的是如何对 SELECT 查询的结果做同样的事情,即。就像是:
IF LENGTH(SELECT * FROM USERS WHERE username=username) > 1 THEN
RAISE EXCEPTION 'Username already exists';
END IF;
(是的,我知道 PostgreSQL 会在没有那行的情况下给我一个错误,但我想要一个更友好的错误消息。)
在(Postgre)SQL中是否可能出现类似的情况,如果可以,有人可以指出我可以查看的语法(或它的示例)吗?
是的,这是可能的,但是子查询需要一对额外的括号:
一对括号用于子查询,一对用于函数调用。
写这个的更易读的方式是