집 >데이터 베이스 >MySQL 튜토리얼 >테이블이 아직 존재하지 않는 경우에만 PostgreSQL에서 테이블을 생성하는 방법은 무엇입니까?
PostgreSQL에서 "CREATE TABLE IF NOT EXISTS"를 사용하여 테이블 생성
테이블이 아직 존재하지 않는 경우에만 테이블을 생성하는 기능은 다음과 같습니다. 스크립트가 여러 번 실행되더라도 테이블이 한 번만 생성되도록 하는 유용한 기능입니다.
MySQL에서 이 기능은 다음 문을 사용하여 구현할 수 있습니다.
CREATE TABLE IF NOT EXISTS foo ...;
PostgreSQL
PostgreSQL 버전 9.1 이상에서는 "존재하지 않는 경우 테이블 생성" 구문은 다음과 같습니다. 지원됨:
CREATE TABLE IF NOT EXISTS myschema.mytable (i integer);
이전 버전에 대한 해결 방법
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$;
이 함수는 테이블이 생성되지 않는 경우에만 여러 번 호출하여 테이블을 생성할 수 있습니다. 존재합니다.
참고:
위 내용은 테이블이 아직 존재하지 않는 경우에만 PostgreSQL에서 테이블을 생성하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!