SQL联机丛书里的SQL语句,居然有误。批抨MS SQL不负责!
我在学SQL ,开始认为自己的输入有误,结果是联机丛书的错。不信,大家试一试。
那位高手,改一改。
大家可以在索引里找的,索引名:修改表
SQL版本:8.00.194
/********************全文属实*******************************/
E. 更改表以添加多个带有约束的列
下例向表中添加多个带有约束的新列。第一个新列具有 IDENTITY 属性;表中每一行的标识列都将具有递增的新值。
CREATE TABLE doc_exe ( column_a INT CONSTRAINT column_a_un UNIQUE)
GO
ALTER TABLE doc_exe ADD
/* Add a PRIMARY KEY identity column. */
column_b INT IDENTITY
CONSTRAINT column_b_pk PRIMARY KEY,
/* Add a column referencing another column in the same table. */
column_c INT NULL
CONSTRAINT column_c_fk
REFERENCES doc_exe(column_a),
/* Add a column with a constraint to enforce that */
/* nonnull data is in a valid phone number format. */
column_d VARCHAR(16) NULL
CONSTRAINT column_d_chk
CHECK
(column_d IS NULL OR
column_d LIKE "[0-9][0-9][0-9]-[0-9][0-9][0-9][0-9]" OR
column_d LIKE
"([0-9][0-9][0-9]) [0-9][0-9][0-9]-[0-9][0-9][0-9][0-9]"),
/* Add a nonnull column with a default. */
column_e DECIMAL(3,3)
CONSTRAINT column_e_default
DEFAULT .081
GO
EXEC sp_help doc_exe
GO
DROP TABLE doc_exe
GO
错误信息:
服务器: 消息 8141,级别 16,状态 1,行 1
列 CHECK 约束(属于列 'column_d')引用了另一列,表 'doc_exe'。
服务器: 消息 1759,级别 16,状态 1,行 1
在约束或计算列的定义中指定了无效的列 '[0-9][0-9][0-9]-[0-9][0-9][0-9][0-9]'。
服务器: 消息 1750,级别 16,状态 1,行 1
未能创建约束。请参阅前面的错误信息。
问题点数:20、回复次数:7Top
1 楼Yang_(扬帆破浪)回复于 2006-03-04 17:11:54 得分 5
"
-->
'
Top
2 楼Eilien(我要成长,我正在成长,)回复于 2006-03-04 21:41:54 得分 0
你们的正确吗?Top
3 楼Eilien(我要成长,我正在成长,)回复于 2006-05-28 11:34:20 得分 0
你们知道的回我啊。
我现在怀疑是不是我的错误啊。。。。可是我又找不出来。晕死中。Top
4 楼qw_study(QW-KING)回复于 2006-05-28 12:37:27 得分 5
顶一个
我也有错Top
5 楼scqiudianbing(八面出锋)回复于 2006-05-28 12:57:09 得分 5
双引号改成单引号就行了,这是设置问题.不是ms的问题,ms出这种问题就是大笑话了.Top
6 楼itblog(Just for wife!)回复于 2006-05-28 14:01:08 得分 5
:)Top
7 楼Eilien(我要成长,我正在成长,)回复于 2006-06-11 17:57:28 得分 0
知道你们又不说。
调试不通过就是错误。哈哈。Top




