以文本方式查看主题
- Foxtable(狐表) (http://foxtable.com/bbs/index.asp)
-- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2)
---- 求一高效函数 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=73122)
|
-- 作者:supwork
-- 发布时间:2015/8/12 21:34:00
-- 求一高效函数
出入_主表 出入_明细表 关联字段 为 GUID
要求写一函数 dellOneRecord
调用方式为:
dellOneRecord("出入_主表", "出入_明细表","GUID")
达到的效果 是:删除主有有记录,但明细表无记录的主表数据 ,删除明细表有数据记录,但主表无记录的数据。
|
-- 作者:大红袍
-- 发布时间:2015/8/12 21:37:00
--
delete fr om 主表 where guid not in (select guid fr om 子表)
delete fr om 子表 where guid not in (select guid fr om 父表)
|
-- 作者:supwork
-- 发布时间:2015/8/19 11:10:00
--
Dim cmda As New SQLCommand cmda.ConnectionName= gs_strActiveConn cmda.CommandText = "delete fr om {订单_主表} where [GUID] not In (Select [GUID] fr om {订单_明细表})" cmda.ExecuteNonQuery
Dim cmdb As New SQLCommand cmdb.ConnectionName= gs_strActiveConn cmdb.CommandText = "delete fr om {订单_明细表} where [GUID] not In (Select [GUID] fr om {订单_主表})" cmdb.ExecuteNonQuery
怎么这样在命令窗口执行没有生效呢
[此贴子已经被作者于2015/8/19 11:10:15编辑过]
|
-- 作者:supwork
-- 发布时间:2015/8/19 11:19:00
--
delete fr om 订单_主表 where GUID not In (Select GUID fro m 订单_明细表)
这代码在数据库中调试都没有效果
|
-- 作者:大红袍
-- 发布时间:2015/8/19 11:28:00
--
语句没有问题。不可能没效果,满足条件的肯定会删除。
|
-- 作者:supwork
-- 发布时间:2015/8/19 11:56:00
--
此主题相关图片如下:23525.png
 数据库中执行,没有删除行
如果去掉NOT 则有执行了
[此贴子已经被作者于2015/8/19 11:56:44编辑过]
|
-- 作者:大红袍
-- 发布时间:2015/8/19 12:10:00
--
你要对比数据啊。
0行受影响说明没有满足条件的数据啊,也就是之前删除完了啊
|