Create the trigger after insert

Hello

I would like to ask how to create a trigger after insert on a table. Basically, what I wanted to do are when an insert to table1 it will insert the records to table2. But the problem is that folders that will be inserted in the new tables are entries/fields, who lived in NEW York City (on table of ld)

after insertion, I wanted to add another field in table2 as status


create table table1)

Name varchar2 (55),
City varchar2 (55)

);

create (table2)

Name varchar2 (55)
status int (1)
)

Hope you could help me.

Thank you

Best regards

antok1015 wrote:
Hello

I would like to ask how to create a trigger after insert on a table. Basically, what I wanted to do are when an insert to table1 it will insert the records to table2.

It's easy...

SQL> create table table1(
  2    Name varchar2(55),
  3    City varchar2(55)
  4  );

Table created.

SQL>
SQL> create table table2 (
  2    Name varchar2(55),
  3    status number(1)
  4  );

Table created.

SQL>
SQL> create or replace trigger trg_tbl1 after insert on table1
  2  for each row
  3  begin
  4    insert into table2 values (:new.name, 1);
  5  end;
  6  /

Trigger created.

SQL> insert into table1 values ('Fred','Bob');

1 row created.

SQL> select * from table2;

NAME                                                        STATUS
------------------------------------------------------- ----------
Fred                                                             1

SQL>

But the problem is that folders that will be inserted in the new tables are entries/fields, who lived in NEW York City (on table of ld)

after insertion, I wanted to add another field in table2 as status

This is not sensible. Please explain what you mean.

Tags: Database

Similar Questions

  • Create the trigger to insert data from one user to another user in same Databas

    Dear Sir, I created a trigger as follows

    CREATE OR REPLACE TRIGGER TRIGGER1
    BEFORE INSERTING
    ON table1
    FOR EACH LINE
    BEGIN
    INSERT IN THE TEST. TABLE2
    VALUES (: NEW.) COLUMN1,: NEW. COLUMN2,: NEW. COLUMN3,: NEW. COLUMN4);
    END;
    /

    I want here to insert my user to user Test data. In this Situation when I Execute The above Trigger it shows error PL/SQL: ORA-00942: table or view does not exist

    Help, please

    What do you mean by run the trigger?
    Do you compile?
    Can be open as a TEST and do the following and try to compile your code of the trigger again.

    grant insert on TEST.TABLE2 to youruser;
    

    See you soon,.
    Manik.

  • How to create the trigger insert for DBSequence? 10.1.3 Jdev

    Hello.. I m trying to create a field DBSequence and I read you need to create an insert on it s trigger...
    This trigger is in the database or in Jdeveloper... If it s in Jdeveloper how can I do this?
    Thank you.

    User,

    You can create the trigger in the database or write code in the class of java feature object to do.

    You can have a reading in the developer's Guide to the ADF for forms/4GL developers 6.6.3.8 section to know more about the trigger of the DB. 9.4.1.2 section talking about how to do java EO class if you prefer this method.

    John

  • create the trigger

    Hello

    I want to create the trigger on two tables

    as this - is - it possible.

    CREATE OR REPLACE TRIGGER
    ABC
    After INSERT or UPDATE or DELETE
    TABLE 1 AND TABLE 2
    for each line

    Start

    CONDITION OF THE INSERTION OF BASE ON TABLE 2

    END;


    -If not possible then how can I call the trigger with trigger

    Hello

    This is not possible, according to the syntax that you can check in the online documentation.

    When you have a trigger on the table 1, say table1_briu of relaxation, and you have a trigger on the table2, say table2_briu,

    and you have
    create or replace trigger table1_briu on table1 after insert or update for each row
    Start
    Insert into table2;
    end;

    the second trigger is automatically triggered.

    However, I highly recommend against the implementation of triggers "cascading" in this way, mostly because when trigger2 fails, you have an incomplete transaction and Oracle does not notice.
    I suggest strongly encapsulate you the complete code into a procedure that you call in a trigger on the table1 and you do not set a trigger on the table2.

    HTH

    --
    Sybrand Bakker
    Senior Oracle DBA

  • trigger after insert in tables MASTER DETAILS, adding bonuses to employees

    Hi Experts, I am a beginner in PL/SQL and triggers
    =========================
    I have two tables:
    MASTER (DOC_NO, DOC_DATE, BONUS)
    DETAILS (EMP_NO, EMP_NAME, EMP_BONUS)

    I need to distribute the (BONUS) column in table (MASTER) to column (EMP_BONUS) in DETAILS

    by equal parts.

    I need it in (trigger after insert)


    EMP_BONUS: is BONUS count (EMP_NO);.

    example:
    BONUS = 100
    No EMP_NO = 20

    This means (EMP_BONUS = 100/20 = 5).


    I use the 6.0 with 9i DB form
    Help, please

    RARA says:
    Hi Experts, I am a beginner in PL/SQL and triggers
    =========================
    I have two tables:
    MASTER (DOC_NO, DOC_DATE, BONUS)
    DETAILS (EMP_NO, EMP_NAME, EMP_BONUS)

    I need to distribute the (BONUS) column in table (MASTER) to column (EMP_BONUS) in DETAILS

    by equal parts.

    I need it in (trigger after insert)

    EMP_BONUS: is BONUS count (EMP_NO);.

    example:
    BONUS = 100
    No EMP_NO = 20

    This means (EMP_BONUS = 100/20 = 5).

    I use the 6.0 with 9i DB form
    Help, please

    If you want to do after insertion and forms... You can use the trigger to insert after and try something like this

    declare
     a number;
    begin
    select count(emp_no) into a
    from master;
    update details
    set emp_bonus=:bonus/a;
    commit;
    end;
    

    Hope this helps

    If someone useful or appropriate, please mark accordingly.

  • Trigger after insert

    After an insertion in table 1, I want to take the value of the transaction and use it in a custom to insert trigger in an another datbase 2 values. One is the primary key of the table 1 transaction value and the other is a variable of the connected user's session. I can get the value of the user of the session, but I can't get the value of the transaction field.

    $updateRequestDate = "INSERT INTO request_notify (id_request, username) Values ({rsrequest.id_request}," ".). $_SESSION ["kt_login_user"]. "')";
    $update_result = $tNG-> connection-> execute ($updateRequestDate);
    {if(!$update_result)}
    $updateError = new tNG_error ("' error affecting the logged in State to N ', array(), Array();")
    Return $updateError;
    } else {}
    return null;
    }

    I have the custom trigger after insert transaction.

    How do you get the value of a transaction for a custom trigger field?

    Please try with the help of the

    $tNG-> getColumnValue ("column_name")

    method instead.

    See you soon,.

    Günter

  • need, update the message after inserting the trigger data

    Hi all

    CREATE OR REPLACE TRIGGER xxc_student

    AFTER INSERTION

    WE raise

    BEGIN

    Dbms_output.put_line ('end of Inserted');

    END;

    And I want to insert data into the table:

    INSERT INTO student (name) VALUES ("ABC");

    INSERT INTO student (name) VALUES ("CCC");

    INSERT INTO student (name) VALUES ('DDD');

    INSERT INTO student (name) VALUES ("EEA").

    COMMIT;

    I have the following results:

    1 row inserted

    end of Inserted

    1 row inserted

    end of Inserted

    1 row inserted

    end of Inserted

    1 row inserted

    end of Inserted

    ENGAGE

    And I would have

    1 row inserted

    1 row inserted

    1 row inserted

    1 row inserted

    end of Inserted

    Oracle Database 11 g Enterprise Edition Release 11.1.0.7.0 - 64 bit Production

    Thank you

    No, this isn't possible; e by a trigger.  Relax, you have created is a statement after trigger, so it fires after the insert statement is complete.  In the first example, you have 4 separate SQL statements, so the trigger is activated after each statement.  In your second example, you have a single SQL statement that affects the 4 lines, if the trigger is activated once the end of the statement.

    The number of inserted rows is reported since sqlplus (the client), based on what the engine SQL in the database said he did.  Since there is only a single statement engine SQL reports 4 lines inserted at the client, not four row insertions.

    What problem are you trying to solve with this approach?  In General, dbms_output is not much used in production code, except occasioanlly as a simple debugging tool.

    John

  • Creating a trigger to insert delete update with the sequence number

    Hey all,.
    I have two tables. tbl_main, tbl_temp. Whenever a record is inserted, deleted, updated in tbl_main, I need to insert the records in tbl_temp. All field/column names are exactly the same, except that in tbl_temp, I now have a single column by using a sequence number, a column to determine if the record has been updated, remove, modified(hence the codes) and the date when a record has been added to the table.
    So far, that's what I have:

    create or replace
    audit_trg relaxation
    after update or insert or delete ON tbl_main
    for each line
    Start
    If the update can
    insert into tbl_temp (seq_id, idx, ctl, action_taken, date_added)
    VALUES
    (temp_seq.nextval, idx, mke, ctl, sysdate, 'U');
    ELSif INSERTION then
    insert into tbl_temp (seq_id, idx, ctl, action_taken, date_added)
    VALUES (temp_seq.nextval, idx, mke, ctl, 'n', sysdate);
    ELSIF deletion then
    insert into tbl_temp (seq_id, idx, ctl, action_taken, date_added)
    VALUES (temp_seq.nextval, idx, mke, ctl, would be ', sysdate);
    END IF;
    END audit_trg;

    I tried several combinations, but I get many compilation errors. This code looks good or I am the way of track? Thanks in advance.

    Who looks fine for me. What are the mistakes are you?

    Assuming that MKE and CTL are columns in the base table, your INSERT statements will insert either the: new.mke and: new.ctl values or the: old.mke and: old.ctl values in the table. Presumably, you could insert the: new values for inserts and updates, and the: old values for deletions.

    Justin

    Published by: Justin Cave 27 February 2009 16:08

    DOH! Just noticed the error...

  • Updating of the table after insert shows empty cells

    Hello experts,

    I'm trying to insert some custom values of certain fields in a table displayed on my page. The table comes a VO based entity with a sequence number and a few constraints.

    The sequence numbers batteries managed automatically by the database.

    The entry fields are related to a bean managed to get the value with 'GetValue' and then I create a string for the entry. The string then gets cut in the VO as some attributes with the following SQL calculation example:

    REGEXP_SUBSTR (attribut3, "[^,] +' 1, 5")

    But it is on the ViewObject/database layer.

    After I call the method of the VO Impl to create the new line like this:

    Managed bean:

    OperationBinding operationBinding = bindings.getOperationBinding ("addRow");

    operationBinding.getParamsMap () .put ("Value1", someInt);

    operationBinding.getParamsMap () .put ("Value2", someIntToo);

    operationBinding.getParamsMap () .put ("Value3", someString);

    operationBinding.execute ();


    Impl VO:


    ' public void addRow (integer value1, value2 Integer, String value3) {}


    ViewObject vo = this;

    NewRow row = vo.createRow ();


    newRow.setAttribute ("attribut1", value1);

    newRow.setAttribute ("attribut2", value2);

    newRow.setAttribute ("attribut3", value3);


    vo.insertRow (newRow);

    this.getDBTransaction () .commit ();

    }

    I capture without exception again, but when I place everything correctly and trigger the code bean managed via a button action, the table shows the new line with the correct integers, but the channel cut in two by the calculation of SQL from the top shows only blank cells. After that research with the filter of the table and remove the search filter once again, the strings appear correctly.

    For example, after you insert:

    table1.PNG

    Then, after 'refreshment' with the filter:

    table2.PNG

    What can I do about it? I can't really put the data through the InsertWithParams, because I need build the string with the Java Code.

    It only does not show data after insertion, PartialTrigger (s) also will not work.

    You must re-run the sql query after validation (with: vo.executeQuery ())

    Dario

  • Trigger AFTER INSERT or UPDATE run twice

    Hi people! I have a problem with this trigger, if I insert a record, INSERTING run 2 times still, I guess that the problem is in AFTER INSERTION or UPDATE of THE SAL ON EMP, but I can't find the solution, I m used to read a lot but nothing... Any idea? Thank you and sorry my bad English.

    PD: I use oracle database 9i 9.2.0.1.0 enterprise

    CREATE OR REPLACE TRIGGER TEMA10EJER1
    AFTER INSERTION OR UPDATE OF THE SAL ON EMP
    FOR EACH LINE
    BEGIN
    IF THE INSERTION
    UPDATE DEPT
    PRESUPUESTO SET = PRESUPUESTO +: new.sal
    Where: new.deptno = deptno;
    ELSIF UPDATING ('sal') THEN
    UPDATE dept
    Presupuesto SET = presupuesto -: old.sal +: new.sal
    WHERE: new.deptno = deptno;
    END IF;
    END;

    Check your DEPT table, may be there is another trigger that inserting a new record.

  • Problem with trigger AFTER INSERT

    Hi all

    I am updating a column in the table by adding 2 characters 'a_' after INSERTION using the trigger.

    Now when I insert data in the table a trigger is fired for INSERTION.
    According to the syntax, I think that we cannot pass parameters in a trigger.
    I have a test10 table that looks like this.
    t1    varchar2(10)
    t2    varchar2(10)
    t3    varchar2(10)
    t4    number
    t5    number
    
    t1 is kinda primary_key and t2 is unique though the table isn't structured like that but the data in it follows that.
    The code in the trigger looks like this 
    
    CREATE OR REPLACE TRIGGER test10_t1 
      AFTER INSERT 
      ON test10 
      FOR EACH ROW
    BEGIN
      IF INSERTING THEN
        UPDATE test10 SET t1 = 'a_'||:old_value WHERE t1 = ?;  -- I need to mention the parameter here but not sure if we can pass param in a trigger 
      END IF;
    END;
    If I omit the WHERE clause, all records are updated. Is there another way to solve the problem?

    THX
    Rod.

    There is no need to use a clause of update.

    Have you tested the relaxation that I suggested in my last post?

  • How to refresh the region after inserting data by dynamic Action?

    Hi friends

    I use APEX 4.1. I created a form master detail and wrote an insert command in dynamic Action through which the data is inserted into the secondary table. I want to refresh the detail region as data is inserted and data must demonstrate in the detail area.

    How can I do this? Help, please. I will be grateful.

    Kind regards.

    Hi Kam_oracle_apex,

    Add real action to the existing dynamic action

    Action: update

    selection type: region

    Region: Detail (the region that you want to refresh).

    Kind regards

    Jitendra

  • Create the trigger for multiple users

    I am trying to create a trigger for a DDL event which gives an error for 2 users when they try to create a database object or a table.

    Here is my code. When ran it gives me the following error: "WARNING: trigger created with errors of complication."

    Any idea would be appreciated.

    Thank you!

    CREATE OR REPLACE TRIGGER trigger_before_create_object
    BEFORE YOU CREATE ON THE DATABASE

    BEGIN

    IF USER = USER OR "VPD_CLERK1" = "DBSEC_CLERK."
    THEN
    RAISE_APPLICATION_ERROR (' you do not have the privilege to create tables or other database objects.) Contact your administrator if you need the privilege. ") ;
    END IF;
    END;

    Published by: mkmety on April 20, 2013 12:10

    Welcome to the forum!

    Whenever you post provide your Oracle version 4-digit
    >
    I am trying to create a trigger for a DDL event which gives an error for 2 users when they try to create a database object or a table.

    Here is my code. When ran it gives me the following error: "WARNING: trigger created with errors of complication."

    Any idea would be appreciated.

    Thank you!
    >
    And to alert you to the need to view the errors you got. If you did you will see this:
    >
    PLS-00306: wrong number or types of arguments in the call to "RAISE_APPLICATION_ERROR.
    >
    Oracle cannot raise your exception if you:

    1. do not define an exception to throw
    2. don't tell Oracle how exception to throw

    See the section "Defining your own Error Messages (procedure RAISE_APPLICATION_ERROR)" in the doc of the PL/SQL language
    http://docs.Oracle.com/CD/B28359_01/AppDev.111/b28370/errors.htm#i1871

    This article has examples that show how to raise your exceptions.

  • prevent refresh them all the page after insert, create...

    Is it possible to prevent the entire page refresh after pressing created or commit operations.
    We just want to send data and get data back and not you want all dippear and poster items new.
    What is possibility of almost there or future functionality?
    Thank you...

    Ali,

    I suppose that according to your messages before using ADF Faces. In this case, the answer is 'yes '. You can set the attribute partialSubmit of your buttons to create / commit to 'true' and set the attribute partialTriggers by the components that you want to update to include the ID of the create buttons / commit.

    Good read on PPR (partial page refresh) in the guide to the developer for more information.

    John

  • Cannot create the trigger in Apex

    I tried to create base hosted on Oracle Apex insert triggers.

    I get 'Operator relational invalid' for mirroring script triggers included and for the mirroring of triggers script that has worked implementing my school Apex.

    Is there a reason that it does not work?

    [sql]
    create or replace trigger insert_category
    before inserting on category
    for each line
    declare
    number of new_id;
    Start
    Select seq_category.nextval in new_id double;
    : new.category.id: = new_id;
    end;

    ALTER trigger 'insert_category' enable;
    /
    [sql]

    Hello

    Moreover, you don't need the local variable new_id. You can do something like this:

    CREATE OR REPLACE TRIGGER     insert_category
    BEFORE INSERT ON            category
    FOR EACH ROW
    BEGIN
        SELECT  seq_category.NEXTVAL
        INTO    :new..category_id     -- or INTO :new.id, if id is the column name
        FROM    dual;
    END;
    

    or, to start on Oracle 11.1:

    CREATE OR REPLACE TRIGGER     insert_category
    BEFORE INSERT ON            category
    FOR EACH ROW
    BEGIN
        :new..category_id := seq_category.nextval;
    END;
    

Maybe you are looking for