mysql语句转换为sqlserver2005语句

alter table order_detail add constraint FK_Relationship_1 foreign key (book_id)
references book (id) on delete restrict on update restrict;
放在sqlserver2005运行一下就知道了,最后restrict附近有语法错误。

第1个回答  2011-09-05
SQL Server 的语法如下:

ON DELETE { NO ACTION | CASCADE | SET NULL | SET DEFAULT }
指定如果已创建表中的行具有引用关系,并且被引用行已从父表中删除,则对这些行采取的操作。默认值为 NO ACTION。

NO ACTION
数据库引擎将引发错误,并回滚对父表中行的删除操作。

CASCADE
如果从父表中删除一行,则将从引用表中删除相应行。

SET NULL
如果父表中对应的行被删除,则组成外键的所有值都将设置为 NULL。若要执行此约束,外键列必须可为空值。

SET DEFAULT
如果父表中对应的行被删除,则组成外键的所有值都将设置为默认值。若要执行此约束,所有外键列都必须有默认定义。如果某个列可为空值,并且未设置显式的默认值,则将使用 NULL 作为该列的隐式默认值。

MySQL 里面的 on delete restrict
切换到 SQL Server , 可以切换为 ON DELETE NO ACTION
也可以不写,因为 默认值为 NO ACTION。

参考资料:http://hi.baidu.com/wangzhiqing999/blog/item/969f70fa84e2873e5d600821.html

本回答被提问者采纳
第2个回答  2011-09-03
我记得 我用的时候 好像不要改什么追问

你放在sqlserver2005运行一下就知道了,最后restrict附近有语法错误。

追答

额 我用的是2000 擦

第3个回答  2011-09-03
表示 没发现啥子
相似回答