我想使用PostgreSQL截断模式中的所有表。它显示这个错误:在PostgreSQL中截断模式中的所有表
ERROR: relation "Building" does not exist
CONTEXT: SQL statement "TRUNCATE TABLE "Building" CASCADE"
PL/pgSQL function truncate_schema(character varying) line 15 at EXECUTE statement
下面是我使用的功能:
CREATE OR REPLACE FUNCTION truncate_schema(schema IN VARCHAR) RETURNS void AS $$
DECLARE
statements CURSOR FOR
SELECT table_name FROM information_schema.tables
WHERE table_type = 'BASE TABLE' AND table_schema = schema;
BEGIN
FOR stmt IN statements LOOP
EXECUTE 'TRUNCATE TABLE ' || quote_ident(stmt.table_name) || ' CASCADE';
END LOOP;
END;
$$ LANGUAGE plpgsql;
如何做到这正常吗?
太棒了。它的工作原理。非常感谢 – Farook
难道你不觉得在最后一行的末尾需要分号吗.. – itsji10dra
谢谢,非常有帮助! –