在SQL中如何写一个事务?这样就不让其他请求操作这张表了?

解决方案 »

  1.   

    这个问题不用考虑同时读取数据,事务也没有办法隔离用不着,ejb本身就不是并发的,单进程的
      

  2.   

    begin transaction summary在DB2里事务不是这么写的?怎么build的时候这里老报错?
    错误信息:
    Create stored procedure returns -104.
    FOS.PR_REUTERS_TTSFX: 210: [IBM][CLI Driver][DB2/6000] SQL0104N  An unexpected token "summary" was found following "begin transaction".  Expected tokens may include:  ":".  LINE NUMBER=210.  SQLSTATE=42601FOS.PR_REUTERS_TTSFX - Build failed.
      

  3.   


                    begin transaction abc
                select LAST_ORDER_NUMBER into refno from ORDER_NUMBER
                       where ACTIVE_FLAG = 'A' and NUMBER_TYPE = 'ORDER';

                update ORDER_NUMBER set LAST_ORDER_NUMBER = LAST_ORDER_NUMBER +1
                       where ACTIVE_FLAG = 'A' and NUMBER_TYPE = 'ORDER';
            end;
    commit transaction abc ;  这个语法有问题吗?怎么老报错?
      

  4.   

    很久没有用DB2了,好象以前的版本DB2不是采用的是嵌套事务的模式,不能自己新开一个事务,如果我说错了,当我乱说,大家批评指正             select LAST_ORDER_NUMBER into refno from ORDER_NUMBER
                       where ACTIVE_FLAG = 'A' and NUMBER_TYPE = 'ORDER';
    应该不对,INTO是到一个变量中,这个直接存成表的写法是SQL SERVER的语法,