PK函数
一函数处理 主表,明细表无用数据. 1,删除掉关联字段无值的所有主表明细表记录. 2,删除掉主表有值,明细表无值的数据,3,删除掉明细表有数据,主表无对应数据的所有记录.
4,要求程序最简洁,不能再少一个字符,无需再多一个字符. 5,要求运行时间,理论和实际耗时最少.
希望大家都来PK,都来命题,只是这样针对一段代码或一个功能进行反复优化,新手,老手才能进步最快,希望官方来命题,最好官方再来个打赏制度,每一个命题帖子的PK冠军能得到现金奖赏.
一般新设计程序时,主表明细表总有些垃圾数据,运行过程中也会产生垃圾数据,此函数可快速清除.
我先放出一个函数. 我知道这个函数应快最少还能少几个字符的.
大仁者见仁,智者现智,优化此代码也行,再出方案也行.
'本函数的格式为:
'Functions.Execute("清除数据","订单_主表","订单_明细表","GUID")
'args(0)为:主表
'args(1)为:明细表
'args(2)为:关联字段
Dim cmda As New SQLCommand
cmda.ConnectionName= gs_strActiveConn
cmda.CommandText = "delete A fr om " & args(0) & " A LEFT OUTER JOIN "& args(1) & " B on A."& args(2) &" = B."& args(2) &" where B."& args(2) &" Is null"
cmda.ExecuteNonQuery
Dim cmdb As New SQLCommand
cmdb.ConnectionName= gs_strActiveConn
cmdb.CommandText = "delete A fr om " & args(1) & " A LEFT OUTER JOIN " & args(0) & " B on A." & args(2) & " = B." & args(2) &" where B." & args(2) &" Is null"
cmdb.ExecuteNonQuery
Dim cmdc As New SQLCommand
cmdc.ConnectionName= gs_strActiveConn
cmdc.CommandText = "delete fr om "& args(0) & " where " & args(2) & " Is null"
cmdc.ExecuteNonQuery
Dim cmdd As New SQLCommand
cmdd.ConnectionName= gs_strActiveConn
cmdd.CommandText = "delete fr om "& args(1) &" where "& args(2) &" Is null"
cmdd.ExecuteNonQuery