database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
ㆍPostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
PostgreSQL Q&A 4295 게시물 읽기
No. 4295
Re: Foreign key 지원됩니다.
작성자
정재익(advance)
작성일
2002-08-12 22:09
조회수
1,059

http://powerdb.net/database/postgres/manual/manual-7.2/sql-createtable.html

 

CREATE TABLE
Name
CREATE TABLE -- define a new table
Synopsis
CREATE [ [ LOCAL ] { TEMPORARY | TEMP } ] TABLE table_name (
    { column_name data_type [ DEFAULT default_expr ] [ column_constraint [, ... ] ]
    | table_constraint }  [, ... ]
)
[ INHERITS ( parent_table [, ... ] ) ]
[ WITH OIDS | WITHOUT OIDS ]

where column_constraint is:

[ CONSTRAINT constraint_name ]
{ NOT NULL | NULL | UNIQUE | PRIMARY KEY |
  CHECK (expression) |
  REFERENCES reftable [ ( refcolumn ) ] [ MATCH FULL | MATCH PARTIAL ]
    [ ON DELETE action ] [ ON UPDATE action ] }
[ DEFERRABLE | NOT DEFERRABLE ] [ INITIALLY DEFERRED | INITIALLY IMMEDIATE ]

and table_constraint is:

[ CONSTRAINT constraint_name ]
{ UNIQUE ( column_name [, ... ] ) |
  PRIMARY KEY ( column_name [, ... ] ) |
  CHECK ( expression ) |
  FOREIGN KEY ( column_name [, ... ] ) REFERENCES reftable [ ( refcolumn [, ... ] ) ]
    [ MATCH FULL | MATCH PARTIAL ] [ ON DELETE action ] [ ON UPDATE action ] }
[ DEFERRABLE | NOT DEFERRABLE ] [ INITIALLY DEFERRED | INITIALLY IMMEDIATE ]

 

위와 같은 문법을 사용합니다.

 

그리고 말씀하신 문제점은 뒤의 옵션중에 ON DELETE CASCADE, ON DELETE SET NULL, 등의 옵션을 명기하여 원하는 작업을 할수 있습니다. 참조하시기 바랍니다.

 

-- 민 님이 쓰신 글:

>> postgresql 7.2.1에서 개발을 하는데요,

>> 이 디비에서는 foreign key 기능이 제공되는지요?

>> 참조하는 자식테이블에서 부모테이블의 데이터를 지워도 아무 에러 없이

>> 삭제되고 자식테이블에만 부모없는 데이터만 남습니다.

>> 혹시 다른 옵션을 줘야하는지요? 여기저기 찾아봐도 잘 모르겠습니다.

>> 답변부탁드립니다.

>> (조건) 부모테이블 -> 프라이머리 키 지정

>> 자식테이블 -> 포린키로 부모테이블 프라이머리 키 설정

>> 이상입니다

[Top]
No.
제목
작성자
작성일
조회
4299[질문] plpgsql function 리스트와 소스보기 [2]
정회민
2002-08-14
1097
4298대용량 디비 [1]
조연
2002-08-14
977
4296펑션에서 쿼리문의 상태를 알아내고 싶은데요
눈love
2002-08-13
828
4294postgresql에서 포린키에 대해서 [1]
2002-08-12
995
4295┕>Re: Foreign key 지원됩니다.
정재익
2002-08-12 22:09:54
1059
4289커넥션에러가... ㅠ.ㅜ [2]
tester
2002-08-07
1075
4290┕>Re: 커넥션에러가... ㅠ.ㅜ
정재익
2002-08-08 09:12:58
918
4288data를 복구하려면 어케해야하지요? [1]
초보
2002-08-06
1004
4287한글 검색이 이상해여 도와주세요
장승현
2002-08-06
910
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.016초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다