用户想邀请朋友,但我想先做一个检查。例如:如何进行有条件检查,返回错误或继续?
SELECT friends_email from invites where friends_email = $1 limit 1;
如果找到一个,然后我要回的消息,如“已经邀请了这位朋友。”
如果没有找到一个,然后我希望做一个插入
INSERT INTO invites etc...
但后来我需要返回主用户的REGION_ID
SELECT region_id from users where user_id = $2
什么是做到这一点的最好方法是什么?
谢谢。
EDIT ------------------------------------------- -------------------
经过几个小时之后,我才在'plpgsql'结束了。
IF EXISTS (SELECT * FROM invitations WHERE email = friends_email) THEN
return 'Already Invited';
END IF;
INSERT INTO invitations (email) VALUES (friends_email);
return 'Invited';
我不确定有可能有几十种更好的方法,但这对我有用。
您是否知道SQL中的CASE WHEN ... THEN ... ELSE ... END? – 2014-11-25 13:22:19
@MladenUzelac如果插入if-not-exists会有什么好处? – 2014-11-25 13:34:25
看来你需要为它编写pl/pgsql函数或者在你的应用程序中解决它。 – 2014-11-25 14:15:01