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 2495 게시물 읽기
No. 2495
Re: Re: ## 포린키의 on cascade delete기능..##
작성자
정재익
작성일
2001-03-26 20:35
조회수
4,096

DDL 에 대해서는 위에 잘 설명이 되어 있군요.

PostgreSQL 은 foreign key 의 구현을 내부적으로 rule 로서 구현을 합니다. (자세한 것은 create rule 구문을 참조하시기 바랍니다) 그리고 포린키 구현시 절대로 주의해야 할 것은 서로 교차 참조를 하지 말아야 합니다. 그것까지 무결성 검사를 해 주지는 않습니다. 사용자의 책임입니다.

 

>>애매한자 님께서 쓰시길<<

 

::

:: >>궁금한자 님께서 쓰시길<<

::

:: :: 질문1)

:: :: on cascade delete기능은 한테이블에서 delete될때, delete 되는 레코드를

:: :: 참조한는 다른 테이블의 모든 레코드를 알아서 지워주고나서, delete하는 것으로

:: :: 알고 있습니다...맞나요?

:: :: 그렇다면, on cascade delete기능을 테이블 정의할때, 만드는 방법이 있고,

:: :: 일반 쿼리를 날릴때, 명시해주는 방법도 있는 것 같은데...

:: :: 어디에 적어줘야 하는 건가요?

:: ::

::

:: Postgres 매뉴얼을 보니까 테이블을 정의할 때 사용합니다. 또, 마스터 테이블이 아니라 레퍼런스 테

:: 이블 생성시 정의하는 겁니다.

:: 예를 들어, 아래의 예라면

:: create table B (b integer references A on delete cascade);

:: 와 같이요...

::

:: :: 질문2)

:: :: 테이블 A(master table) 와 테이블 B, 테이블 C가 있다고 가정할때,

:: :: 테이블 B에서 테이블 A(master)의 한 필드를 참조합니다...

:: :: 테이블 C에서 테이블 A(master)의 한 필드를 참조합니다..

:: :: 그리고 on cascade delete기능(위에서 질문드린 바와 같이

:: :: 언제 설정을 해야하는지는 모르고 있음)을 설정하였다고 합시다..

:: ::

:: :: 테이블 B에는 delete 연산을 수행시, 한 레코드가 지워지고나서 테이블C로

:: :: 지워진 레코드가 삽입되는(after delete on table B...) 트리거를 갖고 있습니다..

:: ::

:: :: 테이블 A의 한 레코드(B와 C에게 참조되는 레코드라 하면)에 대해

:: :: delete 연산을 수행하면, B와 C의 테이블에서는 어떤 순서로 작업이

:: :: 일어나나요?

:: ::

::

:: 순서는 저도 잘 모르겠습니다. 하지만 B, C 테이블 모두가 A 테이블을 foreign key로 참조하고 있다면

:: 순서는 관계없지 않나요? 어차피 A 테이블의 로우가 삭제될때 참조하는 값을 가지는 B, C 테이블의 로

:: 우들은 삭제될테니까요. 만일 C 테이블에서 삭제되지 않기를 원한다면 C 테이블에서는 foreign key를

:: 설정하지 않으면 됩니다.

::

[Top]
No.
제목
작성자
작성일
조회
2499흐흐흑...
이지민
2001-03-27
3176
2497./configure에러....도와저여~
김진곤
2001-03-26
3296
2498┕>Re: ./configure에러....도와저여~
정재익
2001-03-27 00:55:23
3397
2492태웅이의 버버벅 코딩테크닉 #?
이태웅
2001-03-26
2976
2490## 포린키의 on cascade delete기능..##
궁금한자
2001-03-26
3457
2494┕>Re: ## 포린키의 on cascade delete기능..##
애매한자
2001-03-26 17:52:56
3391
2495 ┕>Re: Re: ## 포린키의 on cascade delete기능..##
정재익
2001-03-26 20:35:55
4096
2487또 질문입니다...
이지민
2001-03-25
3299
2489┕>Re: 또 질문입니다...
정재익
2001-03-26 00:53:41
3496
2484왕초보.....
이지민
2001-03-25
3420
2486┕>Re: 왕초보.....
정재익
2001-03-25 19:26:21
3808
2483## 트리거 됩니까?...##
궁금한자4
2001-03-25
3421
2488┕>결국 자문자답하게 되네요...
궁금한자
2001-03-25 23:53:33
3418
2493 ┕>Re: 결국 자문자답하게 되네요...
정재익
2001-03-26 13:41:40
3297
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.026초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다