用戶想邀請朋友,但我想先做一個檢查。例如:如何進行有條件檢查,返回錯誤或繼續?
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