赛跑网

 找回密码
 注册

QQ登录

只需一步,快速开始

快捷登录

查看: 12551|回复: 77

[P2J27]ABAP的SQL更新语句之锁表

  [复制链接]
发表于 2010-11-17 09:34:44 | 显示全部楼层 |阅读模式
对于我们自定义的数据库表,我们一般都会对其做更新,删除处理,这样就会有这么一个问题,可能会出现多人同时对一个表内的同一数据进行操作,这时在程序里我们就要对其进行锁表处理,什么是锁表呢,就是在某一用户对表进行处理的时候,首先把此表锁定,在锁定期间只有此用户一个人可以对表进行处理,等处理完了。再把表解锁。这样就可以避免多人同时对一个表同时处理出现错误,我们来SAP培训一下,处理步骤一般为
1,锁定对象
2,更新处理
3,提交处理(COMMIT/ROLLBACK)
4,解锁处理

下面我们来看看锁表处理和解锁处理的语法,我们以表ZXXQ012,对象EZZXXQ012_1为例,则锁表调用函数ENQUEUE_EZZXXQ012_1,解锁用函数DEQUEUE_EZZXXQ012_1
1,锁表
CALL FUNCTION 'ENQUEUE_EZZXXQ012_1'
       EXPORTING
          BUKRS          = WA_ZXXQ012-BUKRS
          RYAKG          = WA_ZXXQ012-RYAKG
       EXCEPTIONS
          FOREIGN_LOCK   = 1
          SYSTEM_FAILURE = 2
          OTHERS         = 3.

2,解锁
*解锁一个表
CALL FUNCTION 'DEQUEUE_EZZXXQ012_1'
       EXPORTING
          BUKRS          = WA_ZXXQ012-BUKRS
          RYAKG          = WA_ZXXQ012-RYAKG

*解锁全部表(把执行的事务代码相关的所有被锁的表都解开)
CALL FUNCTION 'DEQUEUE_ALL'.
注:上面两个函数是创建了表对应的锁对象的话,会自动被创建的。锁对像用SE11创建,我们在后面会详讲

3,提交/回转处理
游客,如果您要查看本帖隐藏内容请回复

关于锁机制详细请参看SAP锁机制

最近访客

  • tbb1177
    2024-01-16
  • austin
    2022-03-23
  • 冰箱里的
    2021-11-16
  • zxl
    2021-07-04
  • chenc880
    2021-07-03
  • IAmZenos
    2021-04-06
  • wangxiao
    2021-01-18




上一篇:[P3J0]SAP数据接口技术类型
下一篇:[P2J28]ABAP的文字列操作
本楼点评(0) 收起
发表于 2010-12-24 17:00:43 | 显示全部楼层
不错  不错
本楼点评(0) 收起
发表于 2011-3-24 12:50:58 | 显示全部楼层
不错  不错
本楼点评(0) 收起
发表于 2011-4-8 22:15:24 | 显示全部楼层
凡走过必留下痕迹
本楼点评(0) 收起
发表于 2011-5-15 23:42:58 | 显示全部楼层
锁表是有存在必要,支持···
本楼点评(0) 收起
发表于 2011-6-5 15:40:19 | 显示全部楼层
good good study
本楼点评(0) 收起
发表于 2011-7-9 19:05:12 | 显示全部楼层
恩,有这个地不错
本楼点评(0) 收起
发表于 2011-8-2 11:09:57 | 显示全部楼层
万恶的回复可见哦。
本楼点评(0) 收起
发表于 2011-8-4 11:09:38 | 显示全部楼层
回复 1# admin


    赛跑网safe我发收费
本楼点评(0) 收起
发表于 2011-8-4 15:35:20 | 显示全部楼层
学习一下SAP
本楼点评(0) 收起
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|联系我们|赛跑网 ( QQ:108519493QQfsq

GMT+8, 2024-3-28 18:35 , Processed in 0.458737 second(s), 64 queries .

Powered by 91SAP X3.4

© 2001-2023 91sap Team.

快速回复 返回顶部 返回列表