0
Version: postgreSQL 9.3
我已经写了以下程序:为什么我不能在匿名plpg块中执行函数?
CREATE OR REPLACE FUNCTION drop_if_exists(table_name name, schema_name name) RETURNS integer AS $$
BEGIN
IF(SELECT EXISTS(
SELECT *
FROM pg_class c
JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace
WHERE relname = table_name AND
nspname = schema_name
) as ex) = true
THEN
execute 'DROP TABLE ' || schema_name || '.' || table_name;
RETURN 1;
ELSE
RETURN 0;
END IF;
END
$$ LANGUAGE plpgsql;
DO $$
BEGIN
drop_if_exists('ords', 'public'); --ERROR: syntax error at or near drop_if_exists"
END
$$ LANGUAGE plpgsql;
做什么用的代码有问题吗?
@Nick当然。谢谢。 – 2014-10-30 11:53:11
是的,它工作正常。谢谢。 – 2014-10-30 12:02:28