On 5/30/08, A B <gentosaker@gmail.com> wrote: I'm writing a function to drop tables until there is no table left,
but I get an error
ERROR: query has no destination for result data, It seems to be on
the line with the EXECUTE command.
Can someone help me understand this error?
CREATE OR REPLACE FUNCTION droptables() RETURNS void AS $$
DECLARE
post RECORD;
BEGIN
LOOP
FOR post IN SELECT tablename FROM pg_tables WHERE tableowner='bduser' LOOP
BEGIN
EXECUTE 'DROP TABLE '||post.tablename;
EXCEPTION WHEN OTHERS THEN
END;
END LOOP;
SELECT count(*) FROM pg_tables WHERE tableowner='bduser';
IF NOT FOUND THEN
EXIT; --avbryt om vi inte hittar fler
END IF;
END LOOP;
END;
$$ LANGUAGE plpgsql;
SELECT count(*) FROM pg_tables WHERE tableowner='bduser'; <---- This one has no target
Either do `SELECT count(*) INTO somevar ...` or `PERFORM count(*) ...`