课程号 课序号 课程名 先修课课程名 先修课课序号
001 0 C++
002 0 Java 001 0
003 1 汇编 001 0
004 2 加密解密 003 1
当我想把C++删除后,与它相关的课程都一起删掉,其中要注意:当把C++删掉后,汇编也被删掉,同时加密解密也要被删掉
这好像涉及到递归,请问该语句应该如何写?
001 0 C++
002 0 Java 001 0
003 1 汇编 001 0
004 2 加密解密 003 1
当我想把C++删除后,与它相关的课程都一起删掉,其中要注意:当把C++删掉后,汇编也被删掉,同时加密解密也要被删掉
这好像涉及到递归,请问该语句应该如何写?
解决方案 »
- 熟悉全文索引的朋友请进,遇到一个问题
- |zyciis| 紧急求助 Group by 日期为 年 周 星期 的问题
- ====关于SQL Server全文索引中分词问题,欢迎讨论====
- 求sql语句
- 问一个数据库命名的问题
- 安装sql 2005 后 sql 2000 不能使用的问题
- dts怎么用法
- SQL SERVER 2000的数据是否可以导入 SQL SERVER 7。0,过程中需要注意什么?
- 请教各位,我用vb6.0访问ms sql7.0数据库,为什么有时出现,“过期,数据已超时?”
- 树的表结构应该怎么设计?请给点建议
- SQL2005能不能实现 禁止远程用登录名通过 数据库管理器 来登录对数据库操作,但网站远程链接数据库不能受影响
- SQL Server里怎么用触发器模拟主键的功能?
(id varchar(3),no int,name varchar(8),pid varchar(3),pno int)
insert into @table
select '001',0,'C++',null,null union all
select '002',0,'Java','001',0 union all
select '003',1,'汇编','001',0 union all
select '004',2,'加密解密','003',1;with maco as(
select * from @table where id='001'
union all
select a.* from @table a ,maco b where a.pid=b.id
)
delete @table
from @table a left join maco b on a.id=b.idselect * from @table