2017-04-13 4 views
1

DB와 테이블을 동시에 생성하는 다음 스크립트를 실행하려고합니다. PgAdminIII를 사용하기 때문에 기존 데이터베이스의 Query Tool을 사용해야합니다. 그게 문제의 원인 일 수 있다고 생각합니다. 이 오류를 얻을PgAdminIII - 단일 스크립트에서 데이터베이스와 테이블을 만드는 방법

CREATE DATABASE homework; 

CREATE TABLE exampletable (
    id int NOT NULL, 
    description text, 
    PRIMARY KEY(id) 
); 

:하지만 그래서 내 스크립트가가는 방법이다 ERROR : DATABASE를 생성하는 것은 함수 또는 다중 명령 문자열에서 실행할 수 없습니다 ********** 오류 **********

오류 : 어떤 도움에 감사드립니다 25001

: DATABASE를 생성하는 것은 함수 또는 다중 명령 문자열 SQL 상태에서 실행할 수 없습니다! 모두들 사랑해!

+0

왜 이런 식으로하려고합니까? '오류 : 데이터베이스 간 참조가 구현되지 않았습니다 : "test1.public.exampletable"'그래서 다중 명령 문자열에서 데이터베이스를 생성하더라도 여전히 ' dblink와 같은 것을 사용하지 않는다면 그 안에 무엇이든 만들 수 있습니다. –

답변

0

이것은 PgAdmin3이 BEGIN ... END 트랜잭션 블록에 쿼리를 래핑하기 때문입니다. psql의 자동 위탁 모드에서 다음 문을 실행하는 것 때문에,이 각각 트랜잭션에 개별적으로 실행됩니다

CREATE DATABASE homework; 

\c homework; 

CREATE TABLE exampletable (
id int NOT NULL, 
description text, 
PRIMARY KEY(id) 
); 

하고 같은 테이블을 만들 것입니다 : 당신이 psql 프로그램 내에서 동일한 일을 한 경우에, 당신은이 작업을 수행 할 수 배고 있다.

+0

psql이 pgadmin과 다른가요? 어디에서 psql을 다운로드합니까? – user3400351

0

선택 & 쿼리 도구에서 한 번에 각 CREATE SQL을 실행하십시오.