试验触发器

最近做的的一个信息化项目里,我负责其中的财务模块。
里面可以对公司所有项目的财务信息监控,有一个基本的功能就是删除“项目”,而项目下有很多的财务数据,如预收款,监控信息,实际收款,支出,等多种财务信息。
虽然采用Hibernate,但并没有用它的级联删除。
数据库用的是Oracle10g,决定写个触发器玩玩。
如下
create or replace trigger deleteProject
  before delete on project  
  for each row
declare
  -- local variables here
  project_number  char;
begin
   project_number :=:new.project_number; 
  delete from should_gather sg where sg.project_number=project_number; 
   
end deleteProject;



执行了一下一看,delete from project p where p.projectNumber=”Z-SK0000”,把should_gather表的数据给清了,吓了我一身冷汗,幸亏只是先写了一个表,否则其他财务数据就。。,呵呵。

声明变量project_number 用的char,
改成
project_number project.project_number%type

就行了,变量类型和某个表的字段类型一样就行了。

以后写代码要稳一些,不能太着急。

你可能感兴趣的:(Hibernate)