作为硬币收集者,我想将收集的物品放在网上。我只管理美国一美分,镍,一角钱,四分之一,半美元和一美元硬币。每个硬币都有一个日期,一个薄荷标记,一个值,条件和最后一次评估的日期。我在每个硬币上都保留3/5卡,同时也保留了一般评论。
使用以下准则在数据库中手动创建名为CoinCollection的表。我会在我的规格范围之外为您提供创造性的自由。
薄荷标记为D(丹佛),P或空白(费城),S(旧金山),O(新奥尔良),CC(卡森城)。仅允许使用这些缩写。
条件为P(证明),BU(出色未流通),UC(未流通),VF(非常好),(F)精细,G(良好),P(差)。仅允许这些条件。
只允许使用P,N,D,Q,HD,D作为硬币类型。
确定添加记录时应填写的内容(空)。
我的藏品中很大一部分是几分钱。默认数据类型为一分钱。
CREATE TABLE CoinCollection
(
CoinId int Primary Key NOT NULL,
Manufactured_Date date,
MintMarks nvarchar(20),
CONSTRAINT chk_Mintmarks CHECK (Mintmarks IN ('D(Denver)', 'P(Philadelphia)', 'S(San Francisco)', 'O(New Orleans)','C C(Carson City)')),
Price nvarchar(50),
Conditions nvarchar(30),
CONSTRAINT chk_Conditions CHECK (Conditions IN ('P(Proof)','BU(Brilliant Un-Circulated)','UC (Un-circulated)','VF (Very Fine)','F(Fine)','G (Good)','P(Poor)')),
Cointypes nvarchar(5),
CONSTRAINT chk_Cointypes CHECK (Cointypes IN ('P' , 'N','D','Q','HD','D')),
DEFAULT 'P',
Appraisal_Date date
) ;
这是我到目前为止所拥有的。我不断收到此错误。
消息142,级别15,状态2,第0行不正确的语法定义 “ TABLE”约束。
答案 0 :(得分:0)
尝试以下操作-您需要在列时间为default value
添加cointype
定义
CREATE TABLE CoinCollection
(
CoinId int Primary Key NOT NULL,
Manufactured_Date date,
MintMarks nvarchar(20),
Price nvarchar(50),
Conditions nvarchar(30),
Cointypes nvarchar(5) default 'P',
Appraisal_Date date,
CONSTRAINT chk_Mintmarks CHECK (Mintmarks IN ('D(Denver)', 'P(Philadelphia)', 'S(San Francisco)', 'O(New Orleans)','C C(Carson City)')),
CONSTRAINT chk_Conditions CHECK (Conditions IN ('P(Proof)','BU(Brilliant Un-Circulated)','UC (Un-circulated)','VF (Very Fine)','F(Fine)','G (Good)','P(Poor)')),
CONSTRAINT chk_Cointypes CHECK (Cointypes IN ('P' , 'N','D','Q','HD','D'))
) ;