我这里用oracle,要修改一emp_choary表中纪录的时候触发器自动将被修改人的EMP_ID,以前的工资,现在修改后的工资。存进数据表中]要求写出触发过程 ,对了马上给分!************************************************
DROP TABLE Salary_modifyLog_choary;
CREATE TABLE Salary_modifyLog_choary(
   Emp_id Number(5),
   Last_salary Number(6),
   Now_salary Number(6)
);
CREATE OR REPLACE TRIGGER Salary_modifyLog
   AFTER INSERT OR DELETE OR UPDATE
   ON Emp_choary
   FOR EACH ROW
BEGIN
   INSERT INTO Salary_modifyLog_choary VALUES(5,3010,4000);
END Salary_modifyLog;************************************
INSERT INTO Salary_modifyLog_choary VALUES(5,3010,4000);
VALUES中值依次是EMP_ID,以前的工资,现在修改后的工资
********************************************************如有需要在SQL/PLUS中运行一下SQL0代码
CREATE TABLE Emp_choary(
   Emp_id Number(5) NOT NULL Primary key,
   Emp_name Varchar2(20),
   Emp_salary Number(6),
   Dept_id Number(3) NOT NULL
);CREATE TABLE Dept_choary(
   Dept_id Number(3) NOT NULL Primary key,
   Dept_name Varchar2(20) NOT NULL 
);CREATE OR REPLACE PROCEDURE InsertNumber_choary
AS
BEGIN
  INSERT INTO Emp_choary(Emp_id,Emp_name,Emp_salary,Dept_id) Values (00101,'ARRON',4200,005);
  INSERT INTO Emp_choary(Emp_id,Emp_name,Emp_salary,Dept_id) Values (00203,'CLARA',3600,002);
  INSERT INTO Emp_choary(Emp_id,Emp_name,Emp_salary,Dept_id) Values (00507,'CHRIS',2500,005);
  INSERT INTO Emp_choary(Emp_id,Emp_name,Emp_salary,Dept_id) Values (00045,'SAM',1500,005);
  INSERT INTO Emp_choary(Emp_id,Emp_name,Emp_salary,Dept_id) Values (00406,'JACK',2200,004);
  
  INSERT INTO Dept_choary(Dept_id,Dept_name) VALUES (001,'HR');
  INSERT INTO Dept_choary(Dept_id,Dept_name) VALUES (002,'ADMIN');
  INSERT INTO Dept_choary(Dept_id,Dept_name) VALUES (003,'TR');
  INSERT INTO Dept_choary(Dept_id,Dept_name) VALUES (004,'MARKING');
  INSERT INTO Dept_choary(Dept_id,Dept_name) VALUES (005,'IT');
END InsertNumber_choary;
/
EXECUTE InsertNumber_choary;ALERT TABLE Emp_choary ADD(CONSTRAINT fk_emp_dept FOREIGN KEY(Dept_id) REFERENCES Dept_choary(Dept_id));CREATE OR REPLACE PROCEDURE Add_Salary_By20Percent

   p_dept_name IN Varchar2
)
AS
BEGIN
  UPDATE Emp_choary set Emp_salary=Emp_salary*1.2 where Dept_id=(SELECT Dept_id from Dept_choary where Dept_name=p_dept_name);
END Add_Salary_By20Percent;
/
EXECUTE Add_Salary_By20Percent('IT');
CREATE OR REPLACE PROCEDURE Modify_Salary
 (
   p_dept_name IN Varchar2
)
AS
CURSOR EMP_LIST IS
   SELECT Emp_salary FROM Emp_choary;
P_SALARY emp_choary.emp_salary%TYPE;
BEGIN
OPEN EMP_LIST;
   FETCH EMP_LIST INTO P_SALARY;
     IF P_SALARY<=2000 THEN
        UPDATE Emp_choary set Emp_salary=Emp_salary*1.25 where Dept_id=(SELECT Dept_id from Dept_choary where Dept_name=p_dept_name);
     ELSIF P_SALARY>2000 AND P_SALARY<=3000 THEN
        UPDATE Emp_choary set Emp_salary=Emp_salary*1.15 where Dept_id=(SELECT Dept_id from Dept_choary where Dept_name=p_dept_name);
     ELSIF P_SALARY>3000 AND P_SALARY<=5000 THEN
        UPDATE Emp_choary set Emp_salary=Emp_salary*1.08 where Dept_id=(SELECT Dept_id from Dept_choary where Dept_name=p_dept_name);
     ELSIF P_SALARY>5000 THEN
        UPDATE Emp_choary set Emp_salary=Emp_salary*1.04 where Dept_id=(SELECT Dept_id from Dept_choary where Dept_name=p_dept_name);
     END IF;
CLOSE EMP_LIST;
END;
/
EXECUTE Modify_Salary('IT');DROP TABLE Salary_modifyLog_choary;
CREATE TABLE Salary_modifyLog_choary(
   Emp_id Number(5),
   Last_salary Number(6),
   Now_salary Number(6)
);
CREATE OR REPLACE TRIGGER Salary_modifyLog
   AFTER INSERT OR DELETE OR UPDATE
   ON Emp_choary
   FOR EACH ROW
BEGIN
   INSERT INTO Salary_modifyLog_choary VALUES(5,3010,4000);
END Salary_modifyLog;
/