2011-11-02 1 views
1
나는 장점 데이터베이스 설계자의 테이블을 만들어야합니다

만들기 - 내가 이전 프로젝트에서 이전에 사용했던 SQL 코드는 건축가에 (간체 버전)SQL 구문, 테이블, 장점 데이터베이스

CREATE TABLE IF NOT EXISTS "SomacountData" 
(
    "Index" AUTOINC, 
    "Data" BLOB, 
    "Section" INTEGER DEFAULT -1, 
    "factor" FLOAT, 
    "ThresHold" FLOAT DESCRIPTION "Calculated Threshold", 
PRIMARY KEY ("Index") COMPRESS NONE 
DESCRIPTION "SomacountData" 
LANGUAGE "ANSI Standard" SORT "Default Order" 
USER MAJOR VERSION 1 
USER MINOR VERSION 4 
); 

입니다 이것은 다소 복잡해 보입니다. 제안은 잘못되었습니다.

+1

요청을 질문 형식으로 시도하십시오. –

+0

귀하의 질문은 무엇입니까? –

답변

0

외래 키는 어디에 있습니까? 아니면 이것이 유일한 표입니다. 외래 키는 SQL에서 중요합니다. 관계형 대수는 SQL 없이는 작동하지 않습니다. 또한 NOT NULL로 더 많은 제약 조건을 사용합니다.

+0

문제점은 Advantage Database SQL 구문입니다. IF NOT EXISTS 부분을 f.ex로 지원하지 않습니다. ADS는 또한 FLOAT 대신 DOUBLE을 사용하지 않습니다. – user1026448

1

일부 포인터 :

  • FLOAT 것이 가장 DOUBLE에 매핑됩니다.
  • 초기 상태를 설정하고 기본 인덱스가 추가 EXECUTE sp_ModifyFieldProperty 문을 필요로 지정
  • 내가 ADS에 DESCRIPTION 있다고 생각하지 않습니다 (Documentation 참조).
  • IF NOT EXISTS 다른 방법으로 해결할 수 있습니다. 사전이있는 경우 system.tables 사전을 쿼리 할 수 ​​있습니다. 그렇지 않다면 TRY CREATE TABLE ... CATCH ALL END TRY을 사용하여 생성 오류를 무시하면됩니다.

특정 질문이있는 경우에는 새 질문을 만들어야합니다.

UPDATE :

당신은 또한 통합 테이블 디자이너를 사용하여 SQL로 테이블 코드를 덤프,하지만 당신의 IF NOT EXISTS 문제가 해결되지 않습니다 수 있습니다.

+1

DEFAULT 키워드와 "CREATE TABLE"SomacountData "("index "autoinc primary key, ...와 같은 PRIMARY KEY 키워드를 사용하여 테이블 생성시 기본 및 기본 키를 지정할 수 있습니다. ., "section"integer default '-1', ....) "DEFAULT 값은 문자열 리터럴이어야하지만 정수 값을 삽입합니다. – Edgar

+0

+1 그리고 Edgar에게 감사드립니다. 'sp_ModifyFieldProperty'는 여전히 동작하며 적어도 사전 비교 도구가 diff 스크립트를 작성하는 데 사용됩니다. –