编写一个pgsql创建100000张表的存储过程
以下是一个示例的 PostgreSQL 存储过程,用于创建 100000 张表:
CREATE OR REPLACE FUNCTION create_tables()
RETURNS VOID AS $$
DECLARE
counter INTEGER := 1;
BEGIN
WHILE counter <= 100000 LOOP
EXECUTE format('CREATE TABLE table_%s (id SERIAL PRIMARY KEY, name VARCHAR(255))', counter);
counter := counter + 1;
END LOOP;
END;
$$ LANGUAGE plpgsql;
-- 调用存储过程
SELECT create_tables();
这个存储过程使用了一个循环来创建表。循环从 1 开始,每次循环都会执行一个 CREATE TABLE 语句来创建一个名为 table_1, table_2, table_3 等的表。每个表都有一个自增的 id 列和一个 name 列。
注意:创建如此大量的表可能会对数据库性能产生负面影响,请谨慎使用。
原文地址: https://www.cveoy.top/t/topic/i8GP 著作权归作者所有。请勿转载和采集!