Re: Total records in block

From: Valeri Sorokine <vsorokin_at_dd.ru>
Date: Thu, 02 Sep 1999 10:33:38 +0400
Message-ID: <37CE1A42.B13E1B8C_at_dd.ru>


Maurécio wrote:
>
> Yes, I surrender, the "thousands of record" make "query all records" a
> bad way; dealing with on-message is not one favorite of mines, though.
> If you have issued a count_query, then
> "get_block_property('<block_name>', query_hits)" will give you the
> number of record (in varechar2 format).

Yeah, you are quite right. We use something like this:

PROCEDURE On_Message_Trg IS

  msgnum  NUMBER       := MESSAGE_CODE; 
  msgtxt  VARCHAR2(80) := MESSAGE_TEXT; 
  msgtyp  VARCHAR2(3)  := MESSAGE_TYPE; 
  tmp_Cnt VARCHAR2(10);
  tmp_Msg VARCHAR2(80);
  ...
BEGIN
  IF msgnum = 40355 THEN
    tmp_Cnt := Get_Block_Property(NAME_IN('SYSTEM.CURSOR_BLOCK'), QUERY_HITS);     IF tmp_Cnt != '0' THEN
      ... we make our message about number of records here ...
      ...
      tmp_Msg := '...: '||tmp_Cnt;
      ...
      Message(tmp_Msg); 

    END IF;
  ELSE
    Message(msgtyp||'-'||TO_CHAR(msgnum)||': '||msgtxt);   END IF;
EXCEPTION
   ...
END; [Quoted] Hope this helps.

Best wishes,
Valeri

>
> Regards,
> Maurício.
>
> Valeri Sorokine <vsorokin_at_dd.ru> wrote:
> > Yeah, especially in the block with complicated POST-QUERY trigger!
> >
> > I don't think that a setting the "Query All Records" property to True
> > is a very fast solution...
> >
> > The Forms counts all records easily and fast by Count_Query built-in.
> >
> > Still offer the using Count_Query...
> >
> > Hope this will help.
> >
> > Kirill Dylewski wrote:
> > >
> > > How about query executing time if there are 5000...10000...20000
> > > records in block?

<skip>

-- 
Valeri Sorokine
ProSoft, Russia, Moscow, Information Systems Division
Phone: +7 (095) 234 0636 (6 lines) FAX: +7 (095) 234 0640
E-mail: vsorokin_at_dd.ru OR vsorokin_at_prosoft.ru
http://www.dd.ru
Received on Thu Sep 02 1999 - 08:33:38 CEST

Original text of this message