2017-09-22 8 views
2

저는 현재 SQL 프로젝트의 초보자이며, 현재 내 프로젝트에서 작업하고 있습니다. 다른 (2) 경우에 대해 다른 값을 표시 할 수 있도록 열에 제약 조건을 추가하려고합니다.다음과 같은 제약 조건 추가하기

DATA DATE  
NR_SLIDE NUMBER 
TOTAL NUMBER 
NR_ZILE NUMBER 
ID_C NUMBER 
ID_F NUMBER 
COST_SLIDE NUMBER 

는 기본적으로 나는 두 가지 옵션 총 표시해야합니다 : 다음과 같이 내 열입니다 1 nr_slide> 10 내가 5 2 nr_slide < = 10의 할인을 할 필요가있을 때, 할인 없음.

내 코드 시도 (마지막)는 다음과 같습니다

ORA-01735 : 잘못된 ALTER 표 옵션

당신이 수 나는 메시지를 얻고있다

ALTER Table Factura f 
add CONSTRAINT ck_total CHECK (
    CASE 
     WHEN nr_slide>10 
      THEN total=(nr_slide*cost_slide*nr_zile-5) 

      ELSE total=(nr_slide*cost_slide*nr_zile) 

    END = nr_slide); 

이 문제를 해결할 수 있도록 도와주세요. 이전에 정의하지 않은 것이있을 수 있습니까? 감사합니다.

답변

1

난 당신이 원하는 생각 :

ALTER Table Factura f 
    ADD CONSTRAINT ck_total 
     CHECK ((nr_slide > 10 AND nr_slide = nr_slidecost_slidenr_zile - 5) OR 
       (nr_slide <= 10 AND nr_slide = nr_slide* cost_slide * nr_zile) 
      ); 

당신은뿐만 아니라 계정으로 NULL 값을 가질 필요가있다.