有2个表
hr_user_p
id(int 主键) ********(其他字段)
hr_p_bak_job
p_id(int) *******(其他字段)
其中,hr_p_bak_job表中的p_id与hr_user_p中的id是对应的。
删除hr_user_p中记录的同时,把hr_p_bak_job中相应的记录删除。
问题有2个:
1、是不是可以在SQL SERVER2000里创建一个级联删除?怎么创建?是不是触发器?
2、创建好之后,是不是只要在ASP里做“删除hr_user_p中的记录”这样一个操作,就可以让触发器工作,将hr_p_bak_job表中的相应记录删除?
我是菜鸟,以上2个问题对高手来说很简单,但对我帮助很大,谢谢啊。麻烦写出触发器创建的语句。
这个问题第1个回答:
--写2条删除语句
delete a from hr_p_bak_job a,hr_user_P b
where a.P_Id=b.id and b.id=@id
delete from hr_user_P b
where b.id=@id
这个问题第2个回答:
也可以写触发器,也可以建立级联删除的外键
不过最简单的还是写2个删除语句
这个问题第3个回答:
1、是不是可以在SQL SERVER2000里创建一个级联删除?怎么创建?是不是触发器?
可以用级联删除,在定义外键用ON DELETE CASCADE就可以
也可以用触发器,不过你现在的需求用级联删除更方便
2、创建好之后,是不是只要在ASP里做“删除hr_user_p中的记录”这样一个操作,就可以让触发器工作,将hr_p_bak_job表中的相应记录删除?
不管级联删除还是触发器,都是这样的,不必再有其他操作
这个问题第4个回答:
LZ要删除很多吗?多的话就只能写触发了,不多的话,我建议楼主用1楼的方法,写删除语句最省事。
这个问题第5个回答:
设置级联删除:
ALTER TABLE hr_p_bak_job Add CONSTRAINT fk_hr_p_bak_job_p_id
FOREIGN KEY (p_id)
REFERENCES hr_user_p(id)ON DELETE CASCADE
这个问题第6个回答:
xue xi
这个问题第7个回答:
好好学,天天上!
这个问题第8个回答:
SQL code
参考:--主表(假设col1,col2,col3要与从表构成级联关系,其中 col1 的内容是唯一的)
create table 主表(
col1 int primary key, --字段值不重复的字段,做主键
col2 int not null,
col3 int not null,
col4 int,
constraint UQ_col1_col2_col3_24 unique(col1,col2,col3) --在col1+col2+col3上设置唯一约束,这样可以与从表构成级联约束
)
--从表
create table 从表(
id int identity,
col1 int,
col2 int,
col3 int,
col4 int,
constraint FK_col1_col2_col3_2423
foreign key(col1,col2,col3) --col1,col2,col3构成与主表col1,col2,col3的级联关系
references 主表(col1,col2,col3)
on update cascade
on delete cascade --级联更新/删除
)
select * from 主表
insert 主表(col1,col2,col3,col4)
select 1,1,1,1
select * from 从表
insert 从表(col1,col2,col3,col4)
select 1,1,1,1
delete from 主表 where col1=1
--查看结果
select * from 从表
select * from 主表
drop table 主表
drop table 从表
--级联LZ
这个问题第9个回答:
楼主是来散分的!
这个问题第10个回答:
简单问题...都回答了..
结分...