|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
恢复到之前的某个状态,是需要数据的。这数据可以是a)回滚步骤或者b)操作之前的数据状态原文。数据|数据库--创建数据库
createdatabasetest;
go
--创建表customers
createtablecustomers(
idintidentity(1,1)notnull,
namevarchar(15),
ageint,
primarykey(id)
);
go
--创建表orders
createtableorders(
idintidentity(1,1)notnull,
order_numbervarchar(15),
pricemoney,
customer_idint,
primarykey(id)
);
go
--对表orders拔出数据,以检测money数据范例,了局为:69.0000
insertintoorders(price)values(69);
select*fromorders;
--增添外键与干系束缚
altertableordersaddconstraintFK_CUSTOMERforeignkey(customer_id)referencescustomers(id);
go
--级联删除、更新
altertableordersaddconstraintFK_CUSTOMERforeignkey(customer_id)referencescustomers(id)
ondeletecascadeonupdatecascade;
go
--级联删除
altertableordersaddconstraintFK_CUSTOMERforeignkey(customer_id)referencescustomers(id)
ondeletecascade;
go
=====================================================================================================
--
insertintocustomersvalues(张三,25);
insertintocustomersvalues(李四,25);
--假如设置了级联拔出,那末在向子表orders拔出的customer_id(外键)
--必需在父表customers中存在此id(主键)
insertintoordersvalues(1,50,5);
--假如设置了级联删除,删除父表customers中id=5的纪录,
--也会删除子表orders中customer_id=5的纪录,
deletefromcustomerswhereid=5
--查询
select*fromcustomers;
select*fromorders;
因此我们看到,这些信息足够让我们对单个操作实现“逆操作”。 |
|