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
운영게시판
최근게시물
Oracle Q&A 5640 게시물 읽기
No. 5640
Re: 복합기본키와 같은 기능일까요?
작성자
최성준
작성일
2001-07-03 14:44
조회수
1,193

>>으나 님께서 쓰시길<<

 

:: a table의 기본키인 aa필드를..

:: b table의 bb필드가 참조하고,

:: b table의 cc필드를 기본키로 지정하면

::

:: b table에 bb, cc를 복합기본키로 지정하였을때 처럼..

:: b table에.. bb또는 cc필드값이 중복되지 않을 경우

:: 데이타 insert가 가능 하듯이..

::

:: 위의 경우에도 그런가여??

 

테이블 a b

-----------

컬럼1 aa cc

컬럼1 dd bb aa foreign key

dd

라고하면

create table a (aa varchar2(1) primary key, dd varchar2(10));

insert into a values('1','11');

insert into a values('2','11');

 

create table b (cc varchar2(1) primary key, bb varchar2(1), dd varchar2(10),

CONSTRAINT "fk_b" FOREIGN KEY (bb) REFERENCES a (aa) ON DELETE CASCADE);

 

insert into b values('1','1','11');

1 개의 행이 만들어졌습니다.

insert into b values('2','1','11');

1 개의 행이 만들어졌습니다.

insert into b values('1','2','11');

1행에 오류:

ORA-00001: 무결성 제약 조건(SCOTT.SYS_C001276)에 위배됩니다

 

drop table b;

create table b (cc varchar2(1), bb varchar2(1), dd varchar2(10),

CONSTRAINT "pk_b" PRIMARY KEY (cc,bb)

);

insert into b values('1','1','11');

1 개의 행이 만들어졌습니다.

insert into b values('2','1','11');

1 개의 행이 만들어졌습니다.

insert into b values('1','2','11');

1 개의 행이 만들어졌습니다.

insert into b values('1','2','11');

1행에 오류:

ORA-00001: 무결성 제약 조건(SCOTT.pk_b)에 위배됩니다

 

drop table b;

create table b (cc varchar2(1), bb varchar2(1), dd varchar2(10),

CONSTRAINT "pk_b" PRIMARY KEY (cc,bb),

CONSTRAINT "fk_b" FOREIGN KEY (bb) REFERENCES a (aa) ON DELETE CASCADE

);

insert into b values('1','1','11');

1 개의 행이 만들어졌습니다.

insert into b values('2','1','11');

1 개의 행이 만들어졌습니다.

insert into b values('1','2','11');

1 개의 행이 만들어졌습니다.

insert into b values('1','2','11');

1행에 오류:

ORA-00001: 무결성 제약 조건(SCOTT.pk_b)에 위배됩니다

 

위예 에서 처럼 포린키는 참조만 하는 제약조건이고

기본키와는 별개입니다.(결국 복합기본키와도 별개죠)

[Top]
No.
제목
작성자
작성일
조회
5638oracle backup 시 error code 발생...
김배갑
2001-07-03
962
5636oracle 설치중단문제 해결해 주세요
김윤찬
2001-07-03
793
5664┕>Re: oracle 설치중단문제 해결해 주세요
herrchen
2001-07-04 14:13:22
987
5635아래 5610질문 올렸든 사람입니다...
박문석
2001-07-02
723
5634복합기본키와 같은 기능일까요?
으나
2001-07-02
849
5640┕>Re: 복합기본키와 같은 기능일까요?
최성준
2001-07-03 14:44:02
1193
5631proc실행시 에러.
escada
2001-07-02
2118
5628pro*c install..
escada
2001-07-02
907
5629┕>Re: pro*c install.. -&gt; 설치 프로그램을 이용 별도 설치 가능할 것입니다
문태준
2001-07-02 16:33:47
845
5626[질문]php 에서 오라클 프로시져 실행시 에러가 납니다.....해결좀.....
까투리
2001-07-02
1182
5772┕>Re: [질문]php 에서 오라클 프로시져 실행시 에러가 납니다.....해결좀.....
이경희
2001-07-09 15:53:00
1580
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.021초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다