如何使用 PostgreSQL 的“IF NOT EXISTS”子句创建表
MySQL 允许用户使用“IF NOT EXISTS”子句创建表,确保仅在表尚不存在时才创建该表。如果脚本多次运行,这可以防止出现错误。
在 PostgreSQL 中,此功能是在版本 9.1 中引入的,允许使用:
CREATE TABLE IF NOT EXISTS myschema.mytable (i integer);
对于 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();
注释:
以上是如何使用'IF NOT EXISTS”在 PostgreSQL 中创建表?的详细内容。更多信息请关注PHP中文网其他相关文章!