不知道该怎么问,初学,我写代码老是调不过去,需求如下所述,请高手指点!!建两个表table1,table2(随便即可),1过程,1触发器,触发器的作用是insert 到table1中的信息写入table2中,过程的作用是根据提供的参数写入table1信息拜托把所有的建表,过程,初发期的sql都贴上来,一定要调试通过啊

解决方案 »

  1.   

    SQL> CREATE TABLE TEST ( ID NUMBER(5),COL VARCHAR2(10) );表已创建。SQL> CREATE TABLE TEST_BAK ( ID NUMBER(5),COL VARCHAR2(10) );表已创建。SQL> CREATE OR REPLACE TRIGGER TRG_TEST_BAK
      2  AFTER INSERT ON TEST
      3  FOR EACH ROW
      4  BEGIN
      5     INSERT INTO TEST_BAK(ID,COL)VALUES(:NEW.ID,:NEW.COL);
      6  END;
      7  /触发器已创建SQL> CREATE OR REPLACE PROCEDURE DO_INSERT(theID IN NUMBER,theCOL IN VARCHAR2) AS
      2  BEGIN
      3     INSERT INTO TEST(ID,COL)VALUES(theID,theCOL);
      4  END;
      5  /过程已创建。SQL> EXEC DO_INSERT (1,'AA');PL/SQL 过程已成功完成。SQL> COMMIT;提交完成。SQL> SELECT * FROM TEST;    编号 名称
    -------- ----------
           1 AASQL> SELECT * FROM TEST_BAK;    编号 名称
    -------- ----------
           1 AA
      

  2.   

    源代码:CREATE TABLE TEST ( ID NUMBER(5),COL VARCHAR2(10) );
    CREATE TABLE TEST_BAK ( ID NUMBER(5),COL VARCHAR2(10) );CREATE OR REPLACE TRIGGER TRG_TEST_BAK
    AFTER INSERT ON TEST
    FOR EACH ROW
    BEGIN
    INSERT INTO TEST_BAK(ID,COL)VALUES(:NEW.ID,:NEW.COL);
    END;
    /CREATE OR REPLACE PROCEDURE DO_INSERT(theID IN NUMBER,theCOL IN VARCHAR2) AS
    BEGIN
    INSERT INTO TEST(ID,COL)VALUES(theID,theCOL);
    END;
    /
      

  3.   

    create table tb1
    (id number(4),
     name varchar2(10));create table tb2
    (id number(4),
     name varchar2(10));create or replace procedure inserttbl1(empid in number,name in varchar2)
    is
    v_empid_in number;
    v_name_in varchar2(40);
    begin
    v_empid_in :=empid;
    v_name_in :=name;
     execute immediate 'insert into tb1(id,name) values(:1,:2)' using v_empid_in,v_name_in;
     commit;
    end;create or replace trigger inserttb2
    before insert on tb1
    for each row
    begin
    insert into tb2(id,name)
    values(:new.id,:new.name);
    end;