从a表里查出id=1的记录,把这些记录写入b表
然后把这些记录的flag字段改成F(a表里的)
这个过程怎么写

解决方案 »

  1.   

    就这个要求的话,用sql就可以实现了啊
    为什么还要写过程呢,不用那么麻烦了吧。
      

  2.   


    好像不行吧,他这里还有个把这些记录的flag字段改成F(a表里的) 
      

  3.   

    insert into b
    select * from a where id=1;
    update a set flag=f  where id=1;
      

  4.   


    CREATE OR REPLACE PROCEDURE PRO_TEST IS
    BEGIN
      INSERT INTO B
        SELECT * FROM A WHERE ID = 1;
      UPDATE A SET FLAG = F WHERE ID = 1;
      COMMIT;
    EXCEPTION
      WHEN OTHERS THEN
        ROLLBACK;
    END PRO_TEST;
      

  5.   

    这个不需要存储过程,SQL就可以实现了。如果要写存储过程,你可以定义一些参数,比如id,如果id=1,怎么修改,id等于其他的怎么改(id的值不固定)
      

  6.   


    请问执行完了INSERT INTO B.....这行(假设数据量大,次语句执行时间长),碰巧a表数据发生变动,然后过程继续执行UPDATE A......,这时数据就不同步了,怎么避免出现这种情况?