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(*) ...`