- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
sql约束概要1
修改Sales表数据库的销售订单表Sell_Order使销售订单编号(order_id1)为标识列indentity(1,2).首先删除原本存在的order_id1列,然后在重新添加order_id1列并且添加为标识列.删除列:ALTERtablesell_orderdropcolumnorder_id1重新添加: 结果图:ALTERtablesell_orderaddorder_id1bigintnotnullidentity(1,2)为Sell_order表添加主键约束,该主键约束由order_id1单列组成.添加主键约束:结果图:ALTERtablesell_orderaddconstraintpk_sell_orderprimarykey(order_id1)GO为Sell_order表添加外键约束,使之与Customer表建立级联删除和级联关联操作.SQL语句:ALTERtablesell_orderaddconstraintfk_customer_idforeignkey (customer_id)referencescustomer2(customer_id)onDELETEcascade--级联删除onUPDATEcascade--级联关联图片:删除前:删除后:为Customer表建立约束,使其customer_name列的值具有唯一性.SQL语句:ALTERtablecustomer2addconstraintuni_customer_nameunique (customer_name)结果图:为selLorder表添加约束,使其dicount列的默认值为0SQL语句:ALTERtablesell_orderaddconstraintdef_dicount--添加约束default 0.0 fordiscount--discount列使用默认约束为结果图:原表:新插入的行,没有指定该列的值,将使用默认值为0.为Sell_order表添加约束,确保order_date列值早于send_date列值,send_date列值早于arrival_date列值.SQL语句:--时间精确度为:小时ALTERtablesell_orderaddconstraintPK_date_checkcheck(datediff(hour,order_date,send_date)0anddatediff(hour,send_date,arrival_date)0anddatediff(hour,order_date,arrival_date)0)结果图:测试如果order_date时间和send_date时间一样或者order_date时间晚于send_date,不可更改.,不可更改.order_date时间和arrival_date时间一样或者order_date时间晚于arrival_date,不可更改.Order_date时间只能早于send_date时间和arrival_date时间,否则报错.为Sell_Order表添加列:发货日期datetime,创建规则并绑定到”发货日期”列上,用于检查该列存放的数据是否为形如”2014-01-18”的日期格式.SQL语句:规则和插入的数据有冲突CREATErule发货日期规则as@发货日期likeyy-mm-ddEXECsys.sp_bindrule发货日期规则,sell_order.发货日期创建默认值并绑定到order_date列上,以确保日期的默认值为当天日期.SQL语句:CREATEdefaultorder_date_timeasgetdate()goEXECsys.sp_bindefaultorder_date_time,sell_order.order_date在Sell_Order表中插入以下数据,观察约束的作用.Goods_idEmployee_idCustomer_idOrder_numDicountOrder_dateSend_dateArrivak_datecost2682013-10-102013-12-12013-12-12135952013-03-26插入第一列时出现的错误图:原因:cutomer2表中的customer_id列没有6号的信息
文档评论(0)