'이제야' 님과 '류' 님께 한번 더 질문 드립니다.
이제야 님이 지적하신 대로 COMPANY_CD 필드는 COMPANY 테이블의
PRIMARY KEY 입니다.
여타 다른 테이블의 포린키 지정을 위해 설정한 것 입니다.
이런 식으로 말이죠.
CREATE TABLE COMPANY (
COMPANY_CD VARCHAR2(2),
COMPANY_BSNO VARCHAR2(12),
COMPANY_GB1 VARCHAR2(1),
COMPANY_NM VARCHAR2(30),
COMPANY_OWNER_NM VARCHAR2(8),
COMPANY_OPENING_DT DATE,
COMPANY_NO VARCHAR2(14),
COMPANY_PLACE1 VARCHAR2(60),
COMPANY_PLACE2 VARCHAR2(60),
COMPANY_UPTAE VARCHAR2(25),
COMPANY_ITEM VARCHAR2(25),
COMPANY_TAXNAME VARCHAR2(30),
COMPANY_POST_NO1 VARCHAR2(7),
COMPANY_POST_NO2 VARCHAR2(7),
CONSTRAINT company_idx1 PRIMARY KEY(COMPANY_CD)
);
이렇게 하였더니 자동으로 UNIQUE 조건이 설정된 겁니다.
제가 잘 몰라서 그러는데 PRIMARY KEY, FORGIN KEY는
안쓰는 것이 좋은가요 ? 책에는 관계형 DB의 개념에서는
반드시 쓰는것이 좋다는 식으로 얘기 하던데...
그리고 한가지 더 ...
PRIMARY KEY를 쓴 테이블 마다,
Name is not Unique in this context
이런 에러가 나는 겁니다, 결국은....
not unique 상태로 프라이머리 키 설정은 안되나요.
질문이 너무 두서없이 되었네요.
고수님의 조언을 부탁드립니다.
아래에 해당 부분의 소스입니다.
procedure TPROG1001_Frm2.FormCreate(Sender: TObject);
var
Sql_Str:String;
begin
DBgrid1.Visible := False;
Sql_Str := 'select * from COMPANY order by COMPANY_CD';
StatusBar1.Panels.Items[1].Text :=
'자료를 선택한후 Double Click 혹은 확인 을 Click 혹은 Enter키를.. !!';
with QryCOMPANY do
begin
Close;
Sql.Clear;
Sql.Add(Sql_Str);
Open; <-- Debugging 시 요기서 걸림.
end;
DbGrid1.Font.Name := '굴림';
DbGrid1.Font.Size := 10;
DBGrid1.Columns[00].Title.Caption := '회사등록Key';
DBGrid1.Columns[01].Title.Caption := '사업자등록번호';
DBGrid1.Columns[02].Title.Caption := '법인/개인구분';
DBGrid1.Columns[03].Title.Caption := '법인(단체)명';
DBGrid1.Columns[04].Title.Caption := '대표자';
DBGrid1.Columns[05].Title.Caption := '개업년월일';
DBGrid1.Columns[06].Title.Caption := '법인등록번호';
DBGrid1.Columns[07].Title.Caption := '사업장소재지';
DBGrid1.Columns[08].Title.Caption := '본점소재지';
DBGrid1.Columns[09].Title.Caption := '업태';
DBGrid1.Columns[10].Title.Caption := '종목';
DBGrid1.Columns[11].Title.Caption := '세무자료법인명';
DBGrid1.Columns[12].Title.Caption := '사업장(우)';
DBGrid1.Columns[13].Title.Caption := '본점(우)';
DBgrid1.Visible := True;
end;
|