2

Possible Duplicate:
How to enforce a constraint of foreign key on columns of same table in SQL

Table1

Column1 Column2  Column3 
 1        value  1
 2        value  1
 3        value  2

here in a same table column 1 is primary key, but column3 value must be from column1. How to create table like this.

Community
  • 1
  • 1
sunleo
  • 10,589
  • 35
  • 116
  • 196

3 Answers3

2

Probably you looking for self referencing table

create TABLE MyTable
(
   Column1 NUMBER,
   Column2 varchar2(30),
   Column3 NUMBER,
   PRIMARY KEY(column1),
   CONSTRAINT fk_column1_2
    FOREIGN KEY (column3)
    REFERENCES MyTable (column1)

);
Robert
  • 25,425
  • 8
  • 67
  • 81
2

If your table is already there then you need to run couple of ddl statements

CREATE TABLE TABLE_1 
    ( 
     column1 NUMBER (4)  NOT NULL , 
     column2 VARCHAR2(20)  NOT NULL , 
     column3 NUMBER (4) 
    ) 
;


ALTER TABLE TABLE_1 
    ADD CONSTRAINT TABLE_1_PK PRIMARY KEY ( column1) ;



ALTER TABLE TABLE_1 
    ADD CONSTRAINT TABLE_1_TABLE_1_FK FOREIGN KEY 
    ( 

     column3
    ) 
    REFERENCES TABLE_1 
    ( 
     column1
    ) 
;
Gaurav Soni
  • 6,278
  • 9
  • 52
  • 72
0

You could do this with a CHECK Constraint :

CREATE TABLE TEST (
 a number,
 b number,
 CONSTRAINT CKAEQUALB CHECK (a = b)
);
BaNz
  • 202
  • 2
  • 16