某个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;