0
我是plpgsql的新手。我確信有一些非常簡單的方法可以做到這一點,但由於某種原因,我在嘗試弄清楚如何做到這一點時遇到了很多麻煩。簡單的PostgreSQL plpgsql使用現有的表創建一個新表
我只是通過現有的表的列表試圖循環和執行 CREATE TABLE z_existing_table_name AS SELECT * FROM existing_table_name隨着數據 到目前爲止,我有這樣的:
CREATE OR REPLACE FUNCTION create_backup_row()
RETURNS RECORD
AS $$
DECLARE
row RECORD;
BEGIN
FOR row IN SELECT * FROM information_schema.tables WHERE table_catalog = 'my_db' and table_schema = 'public'
LOOP
EXECUTE 'CREATE TABLE z_' || t.table_name || ' as ' || t.table_name
END LOOP;
END;
$$ LANGUAGE plpgsql;
這將是如果我可以使這個功能可以重新運行,那麼額外的獎勵。類似DROP TABLE如果不存在則創建表...
正是我需要的。謝謝! – Steven