Click here to Skip to main content
15,906,463 members
Home / Discussions / Database
   

Database

 
QuestionHOW TO FIND NO.OF ROWS UPDATED IN ONE TABLE TO STORE THAT VALUE IN OTHER TABLE Pin
harsha_mec3457-Nov-08 23:26
harsha_mec3457-Nov-08 23:26 
AnswerRe: HOW TO FIND NO.OF ROWS UPDATED IN ONE TABLE TO STORE THAT VALUE IN OTHER TABLE Pin
Wendelius8-Nov-08 0:57
mentorWendelius8-Nov-08 0:57 
GeneralRe: HOW TO FIND NO.OF ROWS UPDATED IN ONE TABLE TO STORE THAT VALUE IN OTHER TABLE Pin
harsha_mec3458-Nov-08 21:02
harsha_mec3458-Nov-08 21:02 
GeneralRe: HOW TO FIND NO.OF ROWS UPDATED IN ONE TABLE TO STORE THAT VALUE IN OTHER TABLE Pin
Wendelius8-Nov-08 21:30
mentorWendelius8-Nov-08 21:30 
GeneralRe: HOW TO FIND NO.OF ROWS UPDATED IN ONE TABLE TO STORE THAT VALUE IN OTHER TABLE Pin
harsha_mec3459-Nov-08 1:16
harsha_mec3459-Nov-08 1:16 
GeneralRe: HOW TO FIND NO.OF ROWS UPDATED IN ONE TABLE TO STORE THAT VALUE IN OTHER TABLE Pin
Wendelius9-Nov-08 7:42
mentorWendelius9-Nov-08 7:42 
GeneralRe: HOW TO FIND NO.OF ROWS UPDATED IN ONE TABLE TO STORE THAT VALUE IN OTHER TABLE Pin
harsha_mec34510-Nov-08 21:00
harsha_mec34510-Nov-08 21:00 
GeneralRe: HOW TO FIND NO.OF ROWS UPDATED IN ONE TABLE TO STORE THAT VALUE IN OTHER TABLE Pin
Wendelius11-Nov-08 8:42
mentorWendelius11-Nov-08 8:42 
That's exactly the behaviour I explained. I don't recall that there is any (easy) way to find out how many row are affected by a single statement from inside a trigger.

If you're just cumulating count on different DML types, the easiest way is to add one row to emp_track table before you start using the trigger. For example:
INSERT INTO Emp_Track (DmlType, DmlCount) VALUES ('UPDATE', 0);
INSERT INTO Emp_Track (DmlType, DmlCount) VALUES ('INSERT', 0);
...

This will give you the starting point for logging. After that you don't use INSERT in the trigger, but UPDATE instead. Like:
CREATE TRIGGER trg_Emp 
AFTER UPDATE ON Emp
FOR EACH ROW
BEGIN
   UPDATE Emp_Track 
   SET    DmlCount = DmlCount + 1
   WHERE  DmlType = 'UPDATE';
END;

This will start cumulating update counts on Emp_Track (as long as the seed row exists).

The basic question is, what data you want to get while tracking DML. If you need for example date information, when the modification was done, you would make a slightly different trigger where you test if the record for today already exists or not (for example try to update it) and so on. The trigger would be something like:
CREATE TRIGGER trg_Emp 
AFTER UPDATE ON Emp
FOR EACH ROW
BEGIN
   UPDATE Emp_Track 
   SET    DmlCount = DmlCount + 1
   WHERE  DmlType = 'UPDATE'
   AND    DmlTime = SYSDATE;
   --
   IF SQL%ROWCOUNT = 0 THEN
      INSERT INTO Emp_Track (DmlType, DmlCount, DmlTime)
      VALUES ('UPDATE', 1, SYSDATE);
   END IF;
END;


The need to optimize rises from a bad design.

My articles[^]

QuestionJoining to same table to display values next to each other Pin
Support1237-Nov-08 21:18
Support1237-Nov-08 21:18 
AnswerRe: Joining to same table to display values next to each other Pin
Wendelius8-Nov-08 0:54
mentorWendelius8-Nov-08 0:54 
GeneralRe: Joining to same table to display values next to each other Pin
Support12310-Nov-08 0:18
Support12310-Nov-08 0:18 
QuestionTable constraints problem Pin
JenovaProject7-Nov-08 15:11
JenovaProject7-Nov-08 15:11 
AnswerRe: Table constraints problem [modified] Pin
Wendelius7-Nov-08 20:26
mentorWendelius7-Nov-08 20:26 
QuestionJoin Pin
reogeo20087-Nov-08 6:11
reogeo20087-Nov-08 6:11 
AnswerRe: Join Pin
Jason Lepack (LeppyR64)7-Nov-08 6:34
Jason Lepack (LeppyR64)7-Nov-08 6:34 
AnswerRe: Join Pin
Blue_Boy7-Nov-08 7:08
Blue_Boy7-Nov-08 7:08 
QuestionArithmetic overflow error Pin
Vimalsoft(Pty) Ltd7-Nov-08 1:40
professionalVimalsoft(Pty) Ltd7-Nov-08 1:40 
AnswerRe: Arithmetic overflow error Pin
Ben Fair7-Nov-08 2:07
Ben Fair7-Nov-08 2:07 
GeneralRe: Arithmetic overflow error Pin
Vimalsoft(Pty) Ltd7-Nov-08 2:15
professionalVimalsoft(Pty) Ltd7-Nov-08 2:15 
Questionconnecting to sql 2005 express using vb2005 Pin
Michelle Shoniwa7-Nov-08 1:08
Michelle Shoniwa7-Nov-08 1:08 
AnswerRe: connecting to sql 2005 express using vb2005 Pin
Vimalsoft(Pty) Ltd7-Nov-08 1:35
professionalVimalsoft(Pty) Ltd7-Nov-08 1:35 
QuestionRestrict access to the database Pin
iamdking6-Nov-08 19:28
iamdking6-Nov-08 19:28 
AnswerRe: Restrict access to the database Pin
Ashfield6-Nov-08 20:54
Ashfield6-Nov-08 20:54 
AnswerRe: Restrict access to the database Pin
Wendelius7-Nov-08 7:43
mentorWendelius7-Nov-08 7:43 
QuestionExport of a CSV file loses second decimal place... Pin
new_phoenix6-Nov-08 4:38
new_phoenix6-Nov-08 4:38 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.