2012-03-08 2 views
-2
command.CommandText = "CREATE TABLE daily_prostock (product_id varchar2(30),daily_prounit number(30) not null,day varchar2(30),FOREIGN KEY (product_id) REFERENCES product_description (product_id) ON DELETE NO ACTION )"; 
command.ExecuteNonQuery(); 

이 명령은 작동하지 않습니다. 도와주세요테이블 만들기 쿼리 오류

+5

"작동하지 않는"특정하지 않습니다, – Ben

+0

더 많은 정보를 제공하시기 바랍니다 [질문]를 참조하십시오. 어떤 오라클 버전. 작동하지 않는 것은 무엇입니까? 오류가 있습니까? 보다 완벽한 예를 게시하십시오. – cadrell0

+0

나는이 추측 게임을 좋아합니다 ... –

답변

3

다음과 같이 제약 조건을 명시 적으로 constraint <constraint_name>으로 지정해야합니다.

C#으로 테이블을 만들 필요가 있는지 한 번 이상 알려주세요. 데이터베이스에 왜 아직 없습니까?

on delete no actiondefault이며 실제로 지정하지 않아도됩니다.

CREATE TABLE daily_prostock (
    product_id varchar2(30) 
    , daily_prounit number(30) not null 
    , day varchar2(30) 
    , constraint daily_prostock_fk 
     FOREIGN KEY (product_id) 
     REFERENCES product_description (product_id)) 
2
CREATE TABLE daily_prostock (
product_id varchar2(30), 
daily_prounit number(30) not null, 
day varchar2(30), 
constraint fkproduct 
FOREIGN KEY (product_id) REFERENCES product_description (product_id)) 

온이 오류가 발생합니다으로 오라클

0

라파엘 Althaus는 지적의 기본 계단식의 어떠한 조치가 제거되지 않은 삭제가되는 NO ACTION 옵션이 있습니다 실제로 기본값이므로 테이블 정의에서 ON DELETE를 생략하면이 동작이 실행됩니다. 오라클에는 "삭제 조치 없음"이 없습니다. ON에 대한 옵션은 NULL 설정하거나 CASCADE되어 삭제 :

CREATE TABLE daily_prostock (
    product_id varchar2(30), 
    daily_prounit number(30) not null, 
    day varchar2(30), 
    FOREIGN KEY (product_id) 
    REFERENCES product_description (product_id) 
) 
+0

틀렸어. 존재하지만 (> 9i), CREATE TABLE.에서 사용될 수 없습니다. http://www.dba-oracle.com/bk_on_delete_restrict_on_delete_no_action_tips.htm –

+0

감사. 나는 그 답을 고칠 것이다. –