PostgreSQL:使用「CREATE TABLE IF NOT EXISTS」處理表建立
在PostgreSQL 中,使用「「編號」」允許 NOTATE建立表格而沒有重複建立表格的風險。此功能是在 PostgreSQL 9.1 中引入的,可以輕鬆地以確保表存在的方式建立表,而無需手動檢查它們是否存在。
PostgreSQL 9.1 及更高版本的語法
要在 PostgreSQL 9.1 及更高版本中使用「CREATE TABLE IF NOT EXISTS」建立表,只需將指令指定為如下:
CREATE TABLE IF NOT EXISTS myschema.mytable ( i integer );
注意:將「myschema」和「mytable」取代為您所需的架構和表名稱。
舊版的解決方法
對於 9.1 之前的 PostgreSQL 版本,可以使用解決方法函數來實現類似的效果功能。建立以下函數:
CREATE OR REPLACE FUNCTION create_mytable() RETURNS void LANGUAGE plpgsql AS $func$ BEGIN IF EXISTS (SELECT FROM pg_catalog.pg_tables WHERE schemaname = 'myschema' AND tablename = 'mytable') THEN RAISE NOTICE 'Table myschema.mytable already exists.'; ELSE CREATE TABLE myschema.mytable (i integer); END IF; END $func$;
依需要呼叫函數:
SELECT create_mytable();
註解:
以上是如何安全地建立 PostgreSQL 表而不出現重複表錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!