日期:2014-05-17  浏览次数:20978 次

在PL/SQL中,如何把两个 Update 连起来??????
在PL/SQL中,我想把两个Update   连起来一起处理。
Update   T_GD_WAREBASE   Set   WareQty   =   WareQty   -   10   where   MateNo   =   '11 '  
Update   T_GD_WAREBASE   Set   WareQty   =   WareQty   -   10   where   MateNo   =   '12 '

我是这样做的:
Update   T_GD_WAREBASE   Set   WareQty   =   WareQty   -   10   where   MateNo   =   '11 ';Update   T_GD_WAREBASE   Set   WareQty   =   WareQty   -   10   where   MateNo   =   '12 ';

它老提示:ORA-00911:无效字符

请问应该怎样做呢?

------解决方案--------------------
自己看测试结果:
create table T_GD_WAREBASE(WareQty number,
2 MateNo number);

Table created

SQL> insert into T_GD_WAREBASE select 100,11 from dual;

1 row inserted

SQL> insert into T_GD_WAREBASE select 120,12 from dual;

1 row inserted

SQL> commit;

Commit complete

SQL> select * from T_GD_WAREBASE;

WAREQTY MATENO
---------- ----------
100 11
120 12

SQL> create or replace procedure pro_test1
2 is
3 var_sql varchar2(8000);
4 begin
5 var_sql := 'begin
6 ';
7 var_sql := var_sql || 'Update T_GD_WAREBASE Set WareQty = WareQty - 10 where
8 MateNo = ' '11 ' ';
9 Update T_GD_WAREBASE Set WareQty = WareQty - 10 where MateNo
10 = ' '12 ' '; ';
11 var_sql := var_sql || '
12 end;
13 ';
14 execute immediate var_sql;
15 commit;
16 end;
17 /

Procedure created

SQL> execute pro_test1;

PL/SQL procedure successfully completed

SQL> select * from T_GD_WAREBASE;

WAREQTY MATENO
---------- ----------
90 11
110 12