row level Trigger code - plsqldeveloper

HI
I have a table A and Table B
I need to write trigger on table A for each row insert on table A same row should get inserted in Table B
Table A and Table B have same structure.
Please help me with code
Thanks
Xyz,

You can check the documentation: http://docs.oracle.com/cd/E11882_01/server.112/e25789/srvrside.htm#i13313
You have to write something like:
create or replace trigger replicate
after insert on A
for each row
.
.
.

Related

How to use trigger to update only one row in table with Mysql

I have an after insert trigger that is supposed to update the field total in my table "test" where the id_cart is equal to new.id_cart. However my trigger is updating every single row in the table not only the one desired. I would like to know how can I modify my trigger so it only updates the row that I want.
This is my trigger.
CREATE DEFINER=`root`#`localhost` TRIGGER `update_total_test`
AFTER INSERT ON `test_product_quantity_cart`
FOR EACH ROW BEGIN
UPDATE test set total= (select sum(price_product) from test_product_quantity_cart where id_cart=new.id_cart);
END
So if the new row inserted in table "test_product_quantity_cart" has an new.id_cart=1, then only the row in table "test" with id_cart=1 should be uptated.
I think I am missing a "where" clause to indicate the update statement which rows it is suppossed to upate. However I do not know how to add that clause.
Thank you!
CREATE DEFINER=`root`#`localhost` TRIGGER `update_total_test`
AFTER INSERT ON `test_product_quantity_cart`
FOR EACH ROW
UPDATE test
JOIN ( SELECT id_cart, SUM(price_product) total
FROM test_product_quantity_cart
WHERE id_cart=NEW.id_cart ) value_for_update USING (id_cart)
SET test.total = value_for_update.total;

Trigger to Automatically insert in same row

I want to know can we make a Trigger on a table to update a column of newly inserted row
And that column data will be related by a formula to the same column in previous row
Please let me know....
sounds like you need a Trigger which is after insert. It should look something like this:
CREATE TRIGGER trigger_name AFTER INSERT ON table_name FOR EACH ROW trigger_body
Cheers
LK

Phpmyadmin Database Trigger Creation Query

I have two tables inventory table(columns 'inventory_id','asset','item','delivered_by', 'received_by', 'quantity ''date') and a summary table ('stock_id', 'asset', 'item', 'qty'). I want to create a database trigger that sums up the quantity of assets and items from the inventory table into the summary table after insertion of a new row in the inventory table. .
An Instance:
Expectation From trigger
Here is a query i tried to create the trigger but it failed
CREATE TRIGGER updateqty
AFTER INSERT ON inventory
FOR EACH ROW
BEGIN
UPDATE INTO stock SET qty = (old.qty + stock.qty)
WHERE inventory.item = summary.item_name OR summary.asset_name
Any ideas as to how to create the trigger for my scenario would be very much appreciated. Thanks in advance.
There is no such thing as update into, there is no such thing as old. in an insert trigger,the where clause is invalid but I cannot guess what it should be, every begin must have an end, every statement must have a terminator - usually ;. Are you attempting this in phpmyadmin, mysql workbench or something else?

when after update trigger insert into table but there are old and new value in the inserted table

when i make an after update trigger, follow with insert into another table why there are 2 values in another table that i've had inserted?
this is the query
DROP TRIGGER IF EXISTS uplb;CREATE DEFINER=root#localhost TRIGGER uplb AFTER UPDATE ON tb_bayar FOR EACH ROW
insert into tb_lbayar (id_bayar,id_penghuni,nama,kamar,periode,dateb,jumlah) select old.id_bayar,old.id_penghuni,old.nama,old.kamar,old.periode,old.dateb,new.jumlah
and here's the result in the table that i've inserted :
there are old and new values
and here im just need the new value one
thanks for the help

How to structure this IF condition in MySQL trigger

I am trying to write a MySQL trigger. I have two tables that look like this:
When a customer makes a purchase a new record is added to each table. I have added column ‘sku_copy’ to Table B, so it does not get populated when a new record is created.
When a new record is created, I want my trigger to copy the ‘sku’ field in Table A to the ‘sku_copy’ field in Table B. However, the problem I am having is how to structure the following condition in the trigger.
IF: ‘order_id’ in Table A matches ‘order_id’ in Table B. THEN: copy ‘sku’ from that Table A record to the record in Table B with the matching ‘order_id’. The data should be added to Table B ‘sku_copy'.
ELSE: don’t do anything.
Can someone show me how to write this into my trigger?
Thanks for any help you can give.
Try this but why do u think of using trigger for this ?
DELIMITER $$
CREATE TRIGGER trigger_name
AFTER INSERT ON tableA
FOR EACH ROW BEGIN
INSERT INTO tableB
SET sku_copy = OLD.sku,
order_id = OLD.order_id,
order = OLD.order;
END$$
DELIMITER ;
I want to post the trigger that was constructed with examples offered here and on another forum. Thanks to everyone who helped with this.
DELIMITER $$
CREATE TRIGGER sku_AfterInsert
AFTER INSERT ON uau3h_virtuemart_order_items
FOR EACH ROW BEGIN
UPDATE uau3h_virtuemart_orders
SET order_item_sku_copy = NEW.order_item_sku
WHERE virtuemart_order_id = NEW.virtuemart_order_id;
END$$;
DELIMITER ;