教程学院
图像设计 多媒体类 机械制图 办公软件 操作系统 系统编程 网站编程 网页制作 数据库类 网络路由 网络工程 网络安全 考试认证
firefox火狐浏览器下载
酷网学院
CAD
AutoCad Cam350 ProEngineer GCcam MATLAB Unigraphics SolidWorks CAXA Solid3000 Cimatron EdgeCAM
系统
安全 防火墙 病毒 WinXP Win2003 Vista
数据库
编程
网络
精彩图库
  当前位置: 库库中文网 · 数据库类教程 · MSSQL教程 · MsSql综合技巧

关于级联删除地疑难,新手提问,多谢帮忙。

学院最新推荐文章
教程推荐
『关于级联删除地疑难,新手提问,多谢帮忙。』如果文章有大量图片,显示会较慢,请等待图片下载完成
 
点击数: 更新时间:2008-9-28 
有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个回答:
引用 5 楼 Haiwer 的回复:
设置级联删除:

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

xue xi
这个问题第7个回答:
引用 6 楼 WANGXUELLD 的回复:
引用 5 楼 Haiwer 的回复:
设置级联删除: 

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 

xue xi


好好学,天天上!
这个问题第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个回答:
简单问题...都回答了..
结分...

作者:netcat19… 来源:C.S.D.N
】【关闭窗口
·上页:
·下页:
相关文章
     数据库类教程 - MsSql综合技巧
普通教程【脑袋快想爆炸了- -!】 怎么样
普通教程关于级联删除地疑难,新手提问,
普通教程怎么样动态控制列数?
普通教程数据库恢复 MS2000
普通教程当数据库中varchar字段值为null
普通教程create function 怎么才无法要返
普通教程各位帮我看看是啥疑难啊, SQL运
普通教程SQL server 2005 安装疑难 SP2更
普通教程sql update
普通教程update触发器地疑难
普通教程字符串地查询疑难
普通教程安全性--登陆--想建一个用户tes
精彩图片汇集
advertisement
关于站点 - 广告服务 - 联系我们 - 版权隐私 - 免责声明 - 合作伙伴 - 程序支持 - 网站地图 - 返回顶部
网站文本地图
版权所有:库库中文 2005-2007 欢迎各种媒体转载我们的原创作品[转载请注明出处]
copyright © 2005-2008 www.QQGB.com online services. all rights reserved. 蜀ICP备05015578
Template designed by Virus. Optimized for 1024x768 to Firefox,Opera and MS-IE6. Site powered by EQL.
红盾
热爱电脑,热爱生活
拥有电脑,拥有生命
让我们享受拥有电脑的时光