sql 中 sql%rowcount 判断执行SQL受影响的行数

sql  中 sql%rowcount 判断执行SQL受影响的行数

例子:
update work_order
       set order_state = '1'
     where line_id = p_line_id
       and order_state = '0'
       and order_type = 'DPY'
       and ORDER_PRIORITY = (select min(ORDER_PRIORITY)
                               from work_order
                              where order_state = '0'
                                and order_type = 'DPY'
                                and LINE_ID = p_line_id
                                and order_priority > 0
                              group by LINE_ID)
        and exists
               (select 1
                        from product_level pl
                       where pl.pid = pid
                         and pl.child_pid =
                             (select (select pid
                                        from product_maintain pm
                                       where pm.product_number =
                                             rw.material_number
                                         and pm.rstate = rw.material_rstate)
                                from routing_wip rw
                               where rw.sn = p_sn))
        and rownum <= 1;

   if  sql%rowcount > 1 then      //代表上面update语句影响的行数

   raise_application_error (-20015,
                           'Work order with same priority in the waiting queue ! ');


   end if ;

你可能感兴趣的:(Oracle)