某个ERP系统的基本的表的操作

由Rose建模(TABLE),接着由开发工具自动在数据库中创建表,并且生成关联的视图,还有一个包。插入、修改、删除记录都是由这个包里面的存储过程来实现实现,而不是由客户端直接使用insert,update,delete来实现。

DECLARE 
   info_       VARCHAR2(200);
   objid_      VARCHAR2(200);
   objversion_ VARCHAR2(200);
   attr_       VARCHAR2(2000);
   action_     VARCHAR2(200);
BEGIN  
   -- insert recode
   client_sys.Clear_Attr(attr_) ;
   client_sys.Add_To_Attr('EMPLOYEE_ID',1,attr_);
   client_sys.Add_To_Attr('EMPLOYEE_NAME','ZHANG',attr_);
   client_sys.Add_To_Attr('AGE',1,attr_);
   client_sys.Add_To_Attr('REG_DATE',sysdate,attr_);
  
   EMPLOYEE_API.New__(info_,objid_,objversion_,attr_,'DO');  
  
   -- udpate recode
   client_sys.Clear_Attr(attr_) ;
   SELECT rowid,e.objversion INTO objid_,  objversion_ FROM employee e WHERE employee_id = 1 ;  
   --client_sys.Add_To_Attr('EMPLOYEE_ID',1,attr_); -- can't modify primary key
   client_sys.Add_To_Attr('EMPLOYEE_NAME','deng',attr_);
   client_sys.Add_To_Attr('AGE',2,attr_);
 
   employee_api.Modify__(info_,objid_,objversion_,attr_,'DO');  
     
   --delete recode
   SELECT rowid,e.objversion INTO objid_,  objversion_ FROM employee e WHERE employee_id = 1 ;
   dbms_output.put_line(objid_ || ' ' || objversion_) ;

   employee_api.Remove__(info_, objid_,objversion_,'DO') ;
  
   COMMIT ;  
END;

posted @ 2011-05-27 17:24  abenz  阅读(394)  评论(0编辑  收藏  举报