数据库存除过程中的各个语句执行顺序

顾西昂 2016-08-31 08:43:43

类似存错过程中的这两个语句,他们是同时进行的吗?如果是如何让他按照顺序执行先delete 再update
...全文
527 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
这个是按照顺序进行的,除非有多个用户并发的情况下,会出现问题
jimdie 2016-09-05
  • 打赏
  • 举报
回复
2个语句没有字段相同啊,一起执行和分开执行效果都一样吧,楼贴代码,别废话
giftsf 2016-09-05
  • 打赏
  • 举报
回复
显然这两个语句没有关系 先执行哪个都是一样的效果 所以楼主你误以为是一起执行的 其实不是.
中国风 2016-09-02
  • 打赏
  • 举报
回复
e.g.

SELECT 1 AS ID INTO Tmp UNION ALL SELECT 2 UNION ALL SELECT 3


BEGIN TRAN
DELETE Tmp WHERE ID=1
UPDATE Tmp SET ID=1 WHERE ID>1
SELECT * FROM Tmp
ROLLBACK

/*ID
1
1
*/
中国风 2016-09-02
  • 打赏
  • 举报
回复
同一个事务不可能不变,你把你的测试步骤的方法贴出来
顾西昂 2016-09-02
  • 打赏
  • 举报
回复
引用 6 楼 roy_88 的回复:
按顺序,如果是不同进程用到行锁时,可能存在会同时的情况
我先删除一条数据比方说 1 ,2 ,3我删掉了1,然后我update的目的是把2,3改成1,2但是存储过程中没有变吗,单独运行是ok的。
kingtiy 2016-09-01
  • 打赏
  • 举报
回复
存储过程,sql都是顺序执行的语句. 如果要并行,需要不同的连接才可以.
顾西昂 2016-08-31
  • 打赏
  • 举报
回复
真的有点搞不懂啊 这两个语句我分开执行 就是我想要的结果 在存储过程里面就感觉像是同时进行的结果
xiaoxiangqing 2016-08-31
  • 打赏
  • 举报
回复
本来就是按顺序执行。
唐诗三百首 2016-08-31
  • 打赏
  • 举报
回复
类似存错过程中的这两个语句,他们是同时进行的吗? --> 不是. 如果是如何让他按照顺序执行先delete 再update --> 默认即先delete,后update.
中国风 2016-08-31
  • 打赏
  • 举报
回复
按顺序,如果是不同进程用到行锁时,可能存在会同时的情况
卖水果的net 2016-08-31
  • 打赏
  • 举报
回复
引用 3 楼 SugarToffee 的回复:
真的有点搞不懂啊 这两个语句我分开执行 就是我想要的结果 在存储过程里面就感觉像是同时进行的结果
不会同时执行的,肯定是先把 delete 执行完了,才开始执行 update 你遇到了什么问题呢?
顾西昂 2016-08-31
  • 打赏
  • 举报
回复
help me!!!

22,206

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧