#sql #sql-server-2008
#sql #sql-server-2008
Вопрос:
CREATE TABLE ITEM
(
ITEMCODE CHAR(2) PRIMARY KEY,
ITEMNAME VARCHAR(20) NOT NULL,
UNIT_MEASURE VARCHAR(10) CHECK (UNIT_MEASURE IN ('MTR','KG','TONN','LTR','NOS')),
RATE NUMBER(10,2) CHECK (RATE > 0),
STOCK NUMBER(10,2),
MINSTOCK NUMBER(10,2),
MAXSTOCK NUMBER(10,2),
DRAWINGSP VARCHAR(10) DEFAULT 'DR1000',
CHECK (STORE BETWEEN MINSTOCK AND MAXSTOCK) );
Комментарии:
1.
sql-server
илиmysql
?2. Похоже, у вас есть лишняя запятая между значением по умолчанию и проверкой последнего поля.
3. Измените
NUMBER
наNUMERIC
,STORE
столбец не существует, измените его.
Ответ №1:
CREATE TABLE ITEM
(
ITEMCODE CHAR(2) PRIMARY KEY,
ITEMNAME VARCHAR(20) NOT NULL,
UNIT_MEASURE VARCHAR(10) CHECK (UNIT_MEASURE IN ('MTR','KG','TONN','LTR','NOS')),
RATE NUMERIC(10,2) CHECK (RATE > 0),
STOCK NUMERIC(10,2),
MINSTOCK NUMERIC(10,2),
MAXSTOCK NUMERIC(10,2),
DRAWINGSP VARCHAR(10) DEFAULT 'DR1000',
CHECK (STOCK BETWEEN MINSTOCK AND MAXSTOCK)
);
NUMBER
В SQL Server нет типа —> Ссылка наnumeric
- Нет столбца
STORE
—> Изменить наSTOCK