Created
June 28, 2011 07:33
-
-
Save hizel/1050674 to your computer and use it in GitHub Desktop.
fix delete trigger
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
-- | |
-- Name: msgdel(); Type: FUNCTION; Schema: public; Owner: maxcom | |
-- | |
CREATE OR REPLACE FUNCTION msgdel() RETURNS trigger | |
LANGUAGE plpgsql | |
AS $$ | |
DECLARE | |
grid int; | |
stat_1 int; | |
stat int; | |
thetopic topics%ROWTYPE; | |
thecomment comments%ROWTYPE; | |
BEGIN | |
SELECT * INTO thetopic FROM topics WHERE id = NEW.msgid; | |
IF FOUND THEN | |
SELECT groupid INTO grid FROM topics WHERE id = NEW.msgid; | |
UPDATE groups SET stat1=stat1-1 WHERE id = grid; | |
UPDATE topics SET lastmod=CURRENT_TIMESTAMP WHERE id = NEW.msgid; | |
UPDATE comments SET topic_deleted=true WHERE topic = NEW.msgid; | |
ELSE | |
SELECT * INTO thecomment FROM comments WHERE id = NEW.msgid; | |
SELECT topic INTO grid FROM comments WHERE id = NEW.msgid; | |
UPDATE topics SET stat1=stat1-1, lastmod=CURRENT_TIMESTAMP WHERE id = grid; | |
UPDATE topics SET stat2=stat1 WHERE id=grid AND stat2 > stat1; | |
UPDATE topics SET stat3=stat1 WHERE id=grid AND stat3 > stat1; | |
UPDATE topics SET stat4=stat1 WHERE id=grid AND stat4 > stat1; | |
SELECT groupid INTO grid FROM topics WHERE id = grid; | |
UPDATE groups SET stat1=stat1-1 WHERE id = grid; | |
END IF; | |
RETURN NULL; | |
END; | |
$$; |
спасибо
пожалуйста :-)
хм, опять по\валился хостер :-(
угу
…On Tue, Jun 28, 2011 at 3:06 PM, hizel ***@***.*** wrote:
пожалуйста :-)
хм, опять по\валился хостер :-(
##
Reply to this email directly or view it on GitHub:
https://gist.github.com/1050674
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
выложил, базу на linux.org.ru обновил