在实际项目中,常会有这样的操作,给定一个表格,然后每一条记录有一个选择框,然后就根据选择的记录进行相应的操作,这种情形下,无法预计选择多少个,如果使用组合字串传给SQL,极有可能因长度不够而不能全部操作选定的记录。
我的解决办法:因为我通常习惯使用ID来做为记录标识,就建立一个临时的表TBTEMID,然后在程序里将选择的记录ID依次加入这个表中,再使用游标遍历这个表执行相应的操作,操作完毕后将这个表中的记录清除。
一个完整操作的示例代码,主要由SQL语句组成
实际是这个SQL语句有几百行,我觉得如果将这些语句写成存储过程,虽然调用起来是方便些,可不太安全,首先一些业务逻辑暴露了,其次是担心客户方的管理员是个半吊子乱动给搞坏了就不好收拾了,干脆就都写进程序里,效率应该影响不大,一个语句查找修改十几个表的记录,呵呵,也只是在这个项目里才开始用。