head表
code num
0001 0.0000
0002 3.5600
0003 0.0000
0004 8.9900
0005 0.0000
0006 7.8800
0007 6.7700
0008 0.0000
0009 0.0000line表
code num1 num2 num3
0001 0.0000 0.0000 0.0000
0002 99.0000 99.0000 99.0000
0003 0.0000 0.0000 0.0000
0004 77.0000 66.0000 55.0000
0005 0.0000 0.0000 0.0000
0006 77.0000 88.0000 44.0000
0007 44.0000 44.0000 55.0000
0008 0.0000 0.0000 0.0000
0009 6.0000 5.0000 1.0000我要同时删除head表num=0.00
并且line表num1=0.00 and num2=0.00 and num3=0.00的情况
head表的code等于line表的codesql语句怎么写?
code num
0001 0.0000
0002 3.5600
0003 0.0000
0004 8.9900
0005 0.0000
0006 7.8800
0007 6.7700
0008 0.0000
0009 0.0000line表
code num1 num2 num3
0001 0.0000 0.0000 0.0000
0002 99.0000 99.0000 99.0000
0003 0.0000 0.0000 0.0000
0004 77.0000 66.0000 55.0000
0005 0.0000 0.0000 0.0000
0006 77.0000 88.0000 44.0000
0007 44.0000 44.0000 55.0000
0008 0.0000 0.0000 0.0000
0009 6.0000 5.0000 1.0000我要同时删除head表num=0.00
并且line表num1=0.00 and num2=0.00 and num3=0.00的情况
head表的code等于line表的codesql语句怎么写?
解决方案 »
- 我想查询一个数据库中,所有表中所有数据等于数字10的字段,怎么写?
- sql 中关于获取Text的类型的长度
- 求一个SQL,谢谢
- Report Server Windows Service (MSSQLSERVER) 无法与报表服务器数据库建立连接。
- ★100分求救★【怎样将存image字段数据复制到另一个image字段中去】急急急
- 这样的初始化sql语句该怎么写???
- 动态插入数据
- 各位大虾:ado是不是对imange型的字段不很好用?如何解决?
- create table tablename(...) 怎么使tablename是一个参数?
- “VarChar()”类型的数据 和 “时间类型、数字类型、布尔类型”的对比?
- 请各位高手留步》》》》
- 高难度的数据筛选
介意用触发器
因为一句SQL没法实现删除2个
也就是说,如果用sql先在head表中把code=1的记录删除,接下来line中的code=1的记录就不符合条件了,因为此时,code中已经没有相关记录,也就不符合code相等这一条件了。
所以,存储过程,触发器都不能解决这个问题。
可行的是:1,象9楼说的,建立一个外键,并且设置成级联删除,2,在两个表中分别添加一个字段,用来判断是不是符合删除的条件,然后根据这个字段的值来分别进行删除。
head表
code num del
0001 0.0000 1
0002 3.5600 0
0003 0.0000 1
line表
code num1 num2 num3 del
0001 0.0000 0.0000 0.0000 1
0002 99.0000 99.0000 99.0000 0
0003 0.0000 0.0000 0.0000 1
然后在两个表中将del=1的记录删除