首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > IBM DB2 >

Db2 Procedure一个奇怪的有关问题

2012-03-02 
Db2 Procedure一个奇怪的问题CREATEPROCEDUREDB2ADMIN.PROCEDURE1(inMsgVarchar(100),outReturnStrvarchar

Db2 Procedure一个奇怪的问题
CREATE   PROCEDURE   DB2ADMIN.PROCEDURE1   (     in   Msg   Varchar(100)   ,out     ReturnStr   varchar(100))
      MODIFIES   SQL   DATA
      LANGUAGE   SQL
------------------------------------
--   SQL   存储过程
------------------------------------
P1:   BEGIN
                              update   test   set   msg   =     Msg   ;
                              set               ReturnStr=             Msg;
END   P1  
这样写的时候,编译运行,输入参数OK,返回值OK,但是表test的资料没有更新
改为下面这样
CREATE   PROCEDURE   DB2ADMIN.PROCEDURE1   (     in   Msg   Varchar(100)   ,out     ReturnStr   varchar(100))
      MODIFIES   SQL   DATA
      LANGUAGE   SQL
------------------------------------
--   SQL   存储过程
------------------------------------
P1:   BEGIN
                              DECLARE     sMsg       varchar(40)     DEFAULT   ' ';
                              set                         sMsg   =         Msg;
                              update   test   set   msg   =     sMsg   ;
                              set               ReturnStr=             Msg;
  END   P1  
编译运行,输入参数OK,返回值OK,表test的资料也更新了,为什么??


[解决办法]
测试了,两个都不会更新,理应也是。
事务需要使用commit。
加入一句commit;

热点排行