以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]关于SQL语句能否一次提交多行(如一个语块)的提问? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=21171) |
-- 作者:liguichuan -- 发布时间:2012/7/4 10:19:00 -- [求助]关于SQL语句能否一次提交多行(如一个语块)的提问? 假如有两个仓库,仓库1、仓库2; 想将仓库1的物料调拨到仓为2, 那么基础的思想是这样的,仓库1的物料减少,仓库2的物料增加。 那么有可能存在一种情况,当仓库1的物料减少成功时,仓库2的物料增加却因为网络或是其它的问题而导致无法增加相应的量,那么这样后台的数据库就会变得不准确。
如果是直接用SQL语句来管理,我们可以引入SQL事务的想法,当仓库1减少成功而仓库2增不成功时就可以进行事务回滚操作。保证数据库的准确性。 但是想用这样的语句来实现,不是单单靠一两条就行的,可能需要写好多行同时提交过去SQL服务器。
如下面的语句: use 信息管理系统 --使用数据库名 DECLARE @x int --定义变量 --以下为变量运算
上面的语句操作后验证了调拨的结果,如果只写入一行值,则执行事务回滚操作。
我想问的是,FOXTABLE有没有办法在一个语句设置字段里写入多条语句提交,而不是一条一条提交到SQL。我还没有试过能不能分开提交以上语句。
当然,您也可能会说:那您不如执行后再查询一下,如果发现数据不一致就删除多余的数据行,当然这也可以,但这样似乎没有办法发挥SQL数据库的强大功能。 其实,目前我也不清楚事务管理只能在SQL查询管理器中执行才有效还是可以用类似FOXTABLE这样的第三方工具提交也有效。 望孤爸给予解答一下,谢谢。
|
-- 作者:狐狸爸爸 -- 发布时间:2012/7/4 11:26:00 -- 你可以做个存储过程,通过foxtable来调用 |