I don't think so, if you put in a insert ( +1 ) and in an update trigger ( -1) per record, this will be automatic, Or if you do mass updates, for example every night, you update x records, you can update the total count. I agree absolutely with you, obviously, if this table is heavily updated, this is not the idea. A performance test is needed. This is only an idea, I think we are trying to get ideas, maybe another interesting idea con come from here. Personally I wouldn't do this technique to get counts. Aclaration about a joke for newbies. The example down here, someone posted, I suppose no body had runed it, because it truncates the table, this is only a joke. it erases all record and then returns 0 (a fixed number), this will always work beacuse afeter you erase all record obviously you only have 0 records. create or replace function count_rec(tbl in varchar2) return > integer > 2 as > 3 PRAGMA AUTONOMOUS_TRANSACTION; > 4 trunc varchar2(256):='truncate table '||tbl; > 5 begin > 6 execute immediate trunc; > 7 return(0); > 8 end; > 9 / > now ----- Original Message ----- From: "Jan Pruner" <JPruner@xxxxxxxx> To: <oracle-l@xxxxxxxxxxxxx> Sent: Tuesday, February 17, 2004 7:07 PM Subject: Re: Counting number of rows, sequences with no sequences Wrong. 1. RTFM - Function cannot write to the database, if the function is being called from a SELECT statement. 2. your script is good for single user environment, but in multiuser environment (like Oracle) will produce a BIG problem!!! JP Juan Cachito Reyes Pacheco wrote: > What you can do is to create a one record table, the if the transaction > rollbacks it will rollback > > create table sequence( value number); > > function getnewsequence > select value+1 into variable from sequence; > update table sequence value=variable ; > return variable ; > end; > > ----- Original Message ----- > From: "Mladen Gogala" <mladen@xxxxxxxxxxxxxxx> > To: <oracle-l@xxxxxxxxxxxxx> > Sent: Tuesday, February 17, 2004 6:13 PM > Subject: Re: Counting number of rows, sequences > > > What happens if the transaction is rolled back? > > On 02/17/2004 05:03:14 PM, Juan Cachito Reyes Pacheco wrote: > >>The other choice if you have to frecuently do counts to that table is >>a >>sequence >> >>You create an addiatoinal field with a sequence >> >>CREATE SEQUENCE, etc. >> >>row sequence >> >>1 1 >>2 2 >>.... >>1234 1234 >> >>Then you select from the sequence the currval, and this is immediate. >> ---------------------------------------------------------------- Please see the official ORACLE-L FAQ: http://www.orafaq.com ---------------------------------------------------------------- To unsubscribe send email to: oracle-l-request@xxxxxxxxxxxxx put 'unsubscribe' in the subject line. -- Archives are at //www.freelists.org/archives/oracle-l/ FAQ is at //www.freelists.org/help/fom-serve/cache/1.html ----------------------------------------------------------------- ---------------------------------------------------------------- Please see the official ORACLE-L FAQ: http://www.orafaq.com ---------------------------------------------------------------- To unsubscribe send email to: oracle-l-request@xxxxxxxxxxxxx put 'unsubscribe' in the subject line. -- Archives are at //www.freelists.org/archives/oracle-l/ FAQ is at //www.freelists.org/help/fom-serve/cache/1.html -----------------------------------------------------------------