sintonia/build/sql/triggers.sql
naomiaro 6ef4169315 CC-1985: Automatic rebroadcast of recorded content
populates rebroadcast show instances now, added a new table cc_show_rebroadcast,
added columns record, rebroadcast, instance_id, file_id to cc_show_instances table.
added column record to cc_show_days.
2011-03-15 12:05:41 -04:00

24 lines
885 B
PL/PgSQL

----------------------------------------------------------------------------------
--calculate_position()
----------------------------------------------------------------------------------
DROP FUNCTION calculate_position() CASCADE;
CREATE FUNCTION calculate_position() RETURNS trigger AS
'
BEGIN
IF(TG_OP=''INSERT'') THEN
UPDATE cc_playlistcontents SET position = (position + 1)
WHERE (playlist_id = new.playlist_id AND position >= new.position AND id != new.id);
END IF;
IF(TG_OP=''DELETE'') THEN
UPDATE cc_playlistcontents SET position = (position - 1)
WHERE (playlist_id = old.playlist_id AND position > old.position);
END IF;
RETURN NULL;
END;
'
LANGUAGE 'plpgsql';
CREATE TRIGGER calculate_position AFTER INSERT OR DELETE ON cc_playlistcontents
FOR EACH ROW EXECUTE PROCEDURE calculate_position();