Functions
Creation
-- Delete a feedfile
CREATE OR REPLACE FUNCTION delete_feedfile(integer)
RETURNS void AS
'
DELETE FROM feedfile
WHERE id=$1;
'
LANGUAGE SQL
;
-- Example
-- SELECT delete_feedfile(36);
-- Delete a range of feedfiles
CREATE OR REPLACE FUNCTION delete_feedfiles(integer, integer)
RETURNS void AS
'
BEGIN
FOR i IN $1..$2 LOOP
PERFORM delete_feedfile(i);
END LOOP;
END;
'
LANGUAGE plpgsql
;
-- Example
-- SELECT delete_feedfiles(1,10);
-- Delete a feed
CREATE OR REPLACE FUNCTION delete_feed(integer)
RETURNS void AS
'
DECLARE
row record;
BEGIN
DELETE FROM feedsthist WHERE feedid=$1;
FOR row in (SELECT id FROM feedfile WHERE feedid=$1) LOOP
PERFORM delete_feedfile(row.id);
END LOOP;
DELETE FROM feed WHERE id=$1;
END;
'
LANGUAGE plpgsql
;
-- SELECT delete_feed(3);
List
database-devel=# \df+ delete_feedfile