How to Check Query

Hi all,
How can you tell if a sql query is poorly written or not ( optimized or not)?
Is it by using Explain Plan ? There should be no full table scan it the report? and cost less than < what number?
Thanks a lot

I will just in continue to Sybrand i.e. if you get the output of below query :
SELECT * FROM
(SELECT
sql_fulltext,
sql_id,
child_number,
disk_reads,
executions,
first_load_time,
last_load_time
FROM v$sql
ORDER BY elapsed_time DESC)
WHERE ROWNUM < 10
This finds the top SQL statements that are currently stored in the SQL cache, you can take them "Poor SQLs".
You could find disk intensive full table scans with something like this:
SELECT Disk_Reads DiskReads, Executions, SQL_ID, SQL_Text SQLText,
SQL_FullText SQLFullText
FROM
SELECT Disk_Reads, Executions, SQL_ID, LTRIM(SQL_Text) SQL_Text,
SQL_FullText, Operation, Options,
Row_Number() OVER
(Partition By sql_text ORDER BY Disk_Reads * Executions DESC)
KeepHighSQL
FROM
SELECT Avg(Disk_Reads) OVER (Partition By sql_text) Disk_Reads,
Max(Executions) OVER (Partition By sql_text) Executions,
t.SQL_ID, sql_text, sql_fulltext, p.operation,p.options
FROM v$sql t, v$sql_plan p
WHERE t.hash_value=p.hash_value AND p.operation='TABLE ACCESS'
AND p.options='FULL' AND p.object_owner NOT IN ('SYS','SYSTEM')
AND t.Executions > 1
ORDER BY DISK_READS * EXECUTIONS DESC
WHERE KeepHighSQL = 1
AND rownum <=5;
Source:http://stackoverflow.com/questions/316812/top-5-time-consuming-sql-queries-in-oracle
Regards
Girish Sharma

Similar Messages

  • How to check query is getting reused after changing parametr cursor_sharing

    Hello,
    Oracle Version: 11g
    OS Version: Windows 2003 64Bit
    How to find if a particular query is getting reused after change in a cursor_sharing parameter from EXACT to SIMILAR.
    Which set of Views/DD's should i query go get the relevant details.
    Thanks in advance.
    -Vijay.

    SQL> desc v$sqlarea
    Name                                                  Null?    Type
    SQL_TEXT                                                       VARCHAR2(1000)
    SQL_FULLTEXT                                                   CLOB
    SQL_ID                                                         VARCHAR2(13)
    SHARABLE_MEM                                                   NUMBER
    PERSISTENT_MEM                                                 NUMBER
    RUNTIME_MEM                                                    NUMBER
    SORTS                                                          NUMBER
    VERSION_COUNT                                                  NUMBER
    LOADED_VERSIONS                                                NUMBER
    OPEN_VERSIONS                                                  NUMBER
    USERS_OPENING                                                  NUMBER
    FETCHES                                                        NUMBER
    EXECUTIONS                                                     NUMBER
    PX_SERVERS_EXECUTIONS                                          NUMBER
    END_OF_FETCH_COUNT                                             NUMBER
    USERS_EXECUTING                                                NUMBER
    LOADS                                                          NUMBER
    FIRST_LOAD_TIME                                                VARCHAR2(19)
    INVALIDATIONS                                                  NUMBER
    PARSE_CALLS                                                    NUMBER
    DISK_READS                                                     NUMBER
    DIRECT_WRITES                                                  NUMBER
    BUFFER_GETS                                                    NUMBER
    APPLICATION_WAIT_TIME                                          NUMBER
    CONCURRENCY_WAIT_TIME                                          NUMBER
    CLUSTER_WAIT_TIME                                              NUMBER
    USER_IO_WAIT_TIME                                              NUMBER
    PLSQL_EXEC_TIME                                                NUMBER
    JAVA_EXEC_TIME                                                 NUMBER
    ROWS_PROCESSED                                                 NUMBER
    COMMAND_TYPE                                                   NUMBER
    OPTIMIZER_MODE                                                 VARCHAR2(10)
    OPTIMIZER_COST                                                 NUMBER
    OPTIMIZER_ENV                                                  RAW(797)
    OPTIMIZER_ENV_HASH_VALUE                                       NUMBER
    PARSING_USER_ID                                                NUMBER
    PARSING_SCHEMA_ID                                              NUMBER
    PARSING_SCHEMA_NAME                                            VARCHAR2(30)
    KEPT_VERSIONS                                                  NUMBER
    ADDRESS                                                        RAW(4)
    HASH_VALUE                                                     NUMBER
    OLD_HASH_VALUE                                                 NUMBER
    PLAN_HASH_VALUE                                                NUMBER
    MODULE                                                         VARCHAR2(64)
    MODULE_HASH                                                    NUMBER
    ACTION                                                         VARCHAR2(64)
    ACTION_HASH                                                    NUMBER
    SERIALIZABLE_ABORTS                                            NUMBER
    OUTLINE_CATEGORY                                               VARCHAR2(64)
    CPU_TIME                                                       NUMBER
    ELAPSED_TIME                                                   NUMBER
    OUTLINE_SID                                                    VARCHAR2(40)
    LAST_ACTIVE_CHILD_ADDRESS                                      RAW(4)
    REMOTE                                                         VARCHAR2(1)
    OBJECT_STATUS                                                  VARCHAR2(19)
    LITERAL_HASH_VALUE                                             NUMBER
    LAST_LOAD_TIME                                                 DATE
    IS_OBSOLETE                                                    VARCHAR2(1)
    CHILD_LATCH                                                    NUMBER
    SQL_PROFILE                                                    VARCHAR2(64)
    PROGRAM_ID                                                     NUMBER
    PROGRAM_LINE#                                                  NUMBER
    EXACT_MATCHING_SIGNATURE                                       NUMBER
    FORCE_MATCHING_SIGNATURE                                       NUMBER
    LAST_ACTIVE_TIME                                               DATE
    BIND_DATA                                                      RAW(2000)

  • How to check all items are not null in CAML Query?

    HI All,
    In a CAML Query, i got three items. In all three items, a particular column(Closure Date) should not be null. How to check in all three items, where 'Closure date' is not null?
    Thanks in advance!

    Hi,
    Try this:
    "<Where><IsNull><FieldRef Name='Closure Date' /></IsNull></Where>"
    Hope it hepls!
    Thanks,
    Avni Bhatt
    If this helped you resolve your issue, please mark it Answered

  • How to check multiple special characters in instr function sql query.

    Hi,
    The following special characters are comma(,), slash(/), colan(:)
    these special characters i need to be check in instr function.
    select SUBSTR(master_title,1,INSTR(master_title,',',1,1)-1) from dual;
    Can you please write the query with right answer.
    Thanks in advance,
    Lakshman.

    Why multiple post?
    How to check multiple special characters in this query.

  • How I check in group by query the group change

    How I check in group by query the group change
    Hi master
    Sir I have master detail table
    This is my query
    select rownum,chartofacc.accid,title,nvl(drbal,0),nvl(crbal,0),
    (select case when nvl(sum(debit),0)-nvl(sum(credit),0)>0 then
    nvl(sum(debit),0)-nvl(sum(credit),0)
    else
    0
    end mfadrttt
    from voudetail where voudetail.accid=chartofacc.accid) as mfadr,
    (select case when nvl(sum(credit),0)-nvl(sum(debit),0)>0 then
    nvl(sum(credit),0)-nvl(sum(debit),0)
    else
    0
    end mfacrttt
    from voudetail where voudetail.accid=chartofacc.accid) as mfacr
    ,nvl(debit,0),nvl(credit,0),voumaster.entdate,voumaster.vno from chartofacc ,accbal,voudetail,voumaster where chartofacc.accid=accbal.accid(+) and chartofacc.accid=voudetail.accid(+) and voumaster.vno=voudetail.vno order by chartofacc.accid,voumaster.entdate,voudetail.VNO;
    Sir I need add opbal from master section to debit in detail section when new group start only after adding I use that column for accumulative total or running balance
    If I get any method when group change system give me any key or indication then I use
    Please give me idea in both field oracle sql and oracle report 6i
    Thank
    aamir

    Hi,
    Please send tables structures and sample data from that tables. And, of course what should be the output. :) Just sending your query won't help us to find a solution.
    Peter D.

  • We are interested to know how/where to check query runtimes for any Query in SAP BW?

    We are interested to know how/where to check query runtimes for any Query in SAP BW?
    Is there any table or program to get the query run time details per query for a particular day.

    Hello Sravan,
    Bex statics tables would be 'RSDDSTATHEADER','RSDDSTATINFO' & 'RSDDSTATEVDATA'. all these can found in one view 'RSDDSTAT_OLAP'.
    above can give historical statistic.
    For current Query statics : T-code RSRT, and select debug mode select display statistics and then execute.
    Once you get the output press F3(one step back), there you can see statics of the query for that particular execution.
    Thanks,
    Mallikarjuna

  • How to check a value for paramter query

    I am passing a paramter value from my text box to my sql statement and I would like to check if the value is entered into a text box. If you have any idea please share it with me, i have been struggling with this for many days.Code below is how i try to check if the value is entered but I do not know how to check the value in the :VendorName
    thanks
    If Not txtVendorName.Text = "" Then
    Sql = Sql & " AND (Upper(V.VNAMEL) LIKE '%' || Trim(Upper(:VendorName))|| '%') "
    End If

    Sorry guys english is not my first language and i will try to be clear and specific.
    I have a search page where customeres can do searching either using a text box or two dropdowns i have on my page. they have the option of doing search either using a text box or dropdowns or both.Everything seems to work fine but if users does not leave the text box blank. but they leave the text box blank and do searching using the two dropdowns then the page comes up empty and i checked my query and i should get a value. Attacehed my code for you to look at it.
    <pre>
    Sub VendorSearch()
    gvSearch.Visible = True
    Dim MinPDate As String = drPur.SelectedItem.ToString
    Dim MaxMDate As String = drPurM.SelectedItem.ToString
    Dim liThisOne As ListItem
    Dim strState As String = ""
    For Each liThisOne In lstState.Items
    If liThisOne.Selected Then
    strState = strState & "'" & liThisOne.Value & "'" & ","
    End If
    Next
    Dim Sql As String = " SELECT distinct V.VENDOR ""Vendor Id"",R.ADDRNUM,V.VNAMEL ""Vendor Name"",R.AADDR1,R.ACITY,R.VASST1, "
    Sql = Sql & "R.ASTATE State,R.AZIPCODE, to_char(Max(P.DATEPUR),'YYYY/DD/MM') ""Plan Purchased Date"" , "
    Sql = Sql & "TRIM (r.aaddr1 || decode(trim(r.aaddr2),null,'',' - ') || r.aaddr2) Address,"
    Sql = Sql & " substr(decode(trim(r.vasst1),null, 'N/A','000/000-0000?','N/A','000/000-0000','N/A', r.vasst1),1,12) Fax, "
    Sql = Sql & " substr(decode(trim(r.aphone),null, 'N/A','000/000-0000?','N/A', r.aphone),1,12)Phone "
    Sql = Sql & "FROM VENDOR V,VENDADDR R, PLANHOLD P "
    Sql = Sql & "WHERE V.VENDOR = R.VENDOR AND P.VENDOR = R.VENDOR "
    Sql = Sql & " AND (P.DATEPUR >= TO_DATE('1999-01-01','YYYY-MM-DD')) "
    Sql = Sql & "AND P.DATEPUR In ( select Max(P.DATEPUR) from PLANHOLD P where P.vendor = R.VENDOR) "
    'If txtVendorName.Text <> "" Then
    ' Sql = Sql & " AND (Upper(V.VNAMEL) LIKE '%' || Trim(Upper(:VendorName))|| '%') "
    'End If
    If (strState.Length > 0 And lstState.SelectedIndex <> 0) Then
    strState = Left(strState, strState.Length - 1)
    strState = "(" & strState & ")"
    Sql = Sql & "AND R.ASTATE IN " & strState
    End If
    If (drPur.SelectedIndex <> 0 And drPurM.SelectedIndex <> 0) Then
    Sql = Sql & " AND to_number(to_char(p.datepur, 'YYYY')) between " & "'" & MinPDate & "'" & " AND " & "'" & MaxMDate & "'"
    End If
    ' Dim Para As String
    ' SqlDataSource1.SelectParameters.
    If Not txtVendorName.Text = "" Then
    Sql = Sql & " AND (Upper(V.VNAMEL) LIKE '%' || Trim(Upper(:VendorName))|| '%') "
    End If
    'If Not IsDBNull(SqlDataSource1.SelectParameters(":VendorName")).val Then
    ' Sql = Sql & " AND (Upper(V.VNAMEL) LIKE '%' || Trim(Upper(:VendorName))|| '%') "
    'End If
    Sql = Sql & " AND V.VOBSOLET = 'N' "
    Sql = Sql & "GROUP BY V.VENDOR, R.ADDRNUM,V.VNAMEL,R.AADDR1,R.AADDR2,R.ACITY,R.ASTATE, R.AZIPCODE, R.APHONE, R.VASST1, P.DATEPUR "
    Sql = Sql & "ORDER BY V.VENDOR "
    Response.Write("Sql " & "<br/>" & Sql & "<hr/>")
    SqlDataSource1.SelectCommand = Sql
    End Sub
    </pre>

  • How to check existing patches with a query

    Hi,
    I need to check the existing patches in oracle appls 11i with a sql query.
    I assume I can reference the table ad_applied_patches . But, I am not sure if the column PATCH_NAME is actually the number : 5903765 in ATG Rollup Patchset 6 (11i.ATG_PF.H.delta.6, Patch 5903765) . if not, how can i check that.
    Also, I couldn't find the proper TRM. so any help with that too would be appreciated.
    Thank you..

    Hi,
    You cannot query by name, but you can query AD_BUGS by the patch number -- See (Note: 390864.1 - How to check which Techstack patchsets have been applied on 11i or R12 ?) for details.
    If you want to check the latest Family Packs applied, see this thread.
    How to find Applied/Present Patches, Mini Packsand Family Packs in 11i
    Re: How to find Applied/Present Patches, Mini Packsand Family Packs in 11i
    Thanks,
    Hussein

  • How to check connection from SAP to reservation system?

    Dear Experts,
    May I know how to check whether the connection between SAP and the reservation system has been set up and ready to use?
    Thanks.

    Hi
    You need to check the identification code issued to the enterprise by AMADEUS must be entered in the R/3 Customizing for Travel Planning under Master Data u2192 Control Parameters for Travel Planning u2192 Define sales offices and Define API access parameters.
    External reservation system In the Travel Planning subcomponent Travel Management accesses an external reservation system connected to R/3 to carry out the queries on available travel services and to book the selected services. The reservation system currently available is the AMADEUS Global Travel Distribution system.
    For more information, see Technical Prerequisites for Travel Planning--
    Technical Prerequisites for Travel Planning
    Before you can use Travel Planning fully, a number of internal R/3 and external prerequisites or settings must be fulfilled.
    Connection to an External Reservation System
    The online booking function in Travel Planning is based on the cooperation with external reservation systems that are used to communicate with the service providers. The R/3 user has access to the following functions via the connection to an external reservation system:
    u2022 Availability query of travel services
    u2022 Transfer of additional information about selected travel services
    u2022 Price information
    u2022 Processing of reservation by the respective provider
    u2022 Synchronization of the data in SAP Travel Planning if external booking changes have been made
    In the current release the external reservation system in use is AMADEUS Global Travel Distribution. AMADEUS is a subsidiary of Lufthansa, Air France, Continental Airlines and Iberia. The reservation system it provides is in worldwide use and 160,000 terminals in 37,000 travel agencies and ticket sales centers in over 130 countries are connected to it.
    In order to carry out online booking via AMADEUS the following must have been carried out:
    u2022 Your enterprise must have signed an agreement with AMADEUS for the use of the interface and be registered at AMADEUS with a user ID
    u2022 A network connection to the AMADEUS computer center must have been opened
    u2022 The identification code issued to the enterprise by AMADEUS must be entered in the R/3 Customizing for Travel Planning under Master Data u2192 Control Parameters for Travel Planning u2192 Define sales offices and Define API access parameters.
    For questions about registration, contact the SAP & AMADEUS Competence Center:
    SAP & AMADEUS Competence Center ACC 02 Neurottstrasse 16 69185 Walldorf Germany
    Cheers
    Mukta

  • Open Slaes Order-How to check and close ?

    Hi,
    We have an open sales order which looks like the delivery is closed and 100% completed, but the sales order is still open!
    Now i know this is an ongoing issue which has several possible reasons for and i have used a script to see what is returned but nothing.
      Can you let me know how to check if there were any changes made in any particular Sales orders ?
    eg comparing open items list of sales orders with something ?
    Thank you in advance,

    Hi,
    Yes we ran the query in note 948670 and it came back zero for all?! See below for details.
    This is what has thrown us so what is the simplest way to check why a SO remains open i.e how to check if there were any changes made?
    Rdr u2013 0 Rows
    Dln - 0 Rows
    Rdn - 0 Rows
    Por - 0 Rows
    Pdn - 0 Rows
    Rpd - 0 Rows

  • CIN: How to check the material document posted without excise invoice

    Hi Guru,
    Please advise how to check the material document posted without excise invoice.
    I have tried tcode J1I7 but it seems start to collect the excise invoice first and then material document.
    But my case is to find the material document WITHOUT excise invoice for internal tracking purpose.
    At the moment we start from tcode MB51 to get the list of material document and check in J_1IEXCHDR / J_1IEXCDTL
    Best regards,
    Pakorn

    Hi,
    Try creating a Query in Tcode SQVI by combining tables MKPF and J_1IEXCHDR/J_1IEXCDTL for your requirement.
    Check these threads how to create Query.
    http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/6018c1ae-8c44-2d10-6ea9-c3fad2c82880?QuickLink=index&…
    http://ptgmedia.pearsoncmg.com/images/9780672329029/samplechapter/0672329026_CH03.pdf
    Regards
    Binoy

  • How to check the current EHP stack level? in SAP

    Dear All,
    How to check the current EHP stack level? in SAP  . i have checked forum before i am posting but still comfused .
    same one said SAP_APPL , EA_Appl  and SAP _HR is 60n if n=1.2.3.4. if n =1 is enhanced package 1 similarly 2,3,4 .
    some one said SAP_BASIS 701,702,703,704 . according ehp1,2,3,4.
    Pls check the details and confirm either is ehp1 or ehp4 .
    Component version is simply shows SAP ECC 6.0 in system -> status.
    Software Component  - Release  - SP level
    SAP_ABA     701     0007
    SAP_BASIS     701     0007
    PI_BASIS     701     0007
    ST-PI     2008_1_700     0003
    SAP_BS_FND     701     0008
    SAP_BW     701     0007
    SAP_AP     700     0021
    WEBCUIF     700     0008
    SAP_APPL     604     0008
    SAP_HR     604     0029
    SAP_HRCAR     604     0029
    SAP_HRCAT     604     0029
    SAP_HRCAU     604     0029
    SAP_HRCBE     604     0029
    SAP_HRCBR     604     0029
    SAP_HRCCA     604     0029
    SAP_HRCCH     604     0029
    SAP_HRCCL     604     0029
    SAP_HRCCN     604     0029
    SAP_HRCDE     604     0029
    SAP_HRCDK     604     0029
    SAP_HRCES     604     0029
    SAP_HRCFI     604     0029
    SAP_HRCFR     604     0029
    SAP_HRCGB     604     0031
    SAP_HRCHK     604     0029
    SAP_HRCID     604     0029
    SAP_HRCIE     604     0029
    SAP_HRCIN     604     0029
    SAP_HRCIT     604     0029
    SAP_HRCJP     604     0029
    SAP_HRCKR     604     0029
    SAP_HRCMX     604     0029
    SAP_HRCMY     604     0029
    SAP_HRCNL     604     0029
    SAP_HRCNO     604     0029
    SAP_HRCNZ     604     0029
    SAP_HRCPH     604     0029
    SAP_HRCPT     604     0029
    SAP_HRCRU     604     0029
    SAP_HRCSE     604     0029
    SAP_HRCSG     604     0029
    SAP_HRCTH     604     0029
    SAP_HRCTW     604     0029
    SAP_HRCUN     604     0029
    SAP_HRCUS     604     0029
    SAP_HRCVE     604     0029
    SAP_HRCZA     604     0029
    SAP_HRGXX     604     0029
    SAP_HRRXX     604     0029
    EA-IPPE     400     0018
    EA-APPL     604     0008
    EA-DFPS     600     0018
    EA-FINSERV     604     0007
    EA-GLTRADE     604     0008
    EA-HR     604     0029
    EA-HRCAR     604     0029
    EA-HRCAT     604     0029
    EA-HRCAU     604     0029
    EA-HRCBE     604     0029
    EA-HRCBR     604     0029
    EA-HRCCA     604     0029
    EA-HRCCH     604     0029
    EA-HRCCN     604     0029
    EA-HRCDE     604     0029
    EA-HRCDK     604     0029
    EA-HRCES     604     0029
    EA-HRCFI     604     0029
    EA-HRCFR     604     0029
    EA-HRCGB     604     0029
    EA-HRCHK     604     0029
    EA-HRCID     604     0029
    EA-HRCIE     604     0029
    EA-HRCIN     604     0029
    EA-HRCIT     604     0029
    EA-HRCJP     604     0029
    EA-HRCKR     604     0029
    EA-HRCMX     604     0029
    EA-HRCMY     604     0029
    EA-HRCNL     604     0029
    EA-HRCNO     604     0029
    EA-HRCNZ     604     0029
    EA-HRCPH     604     0029
    EA-HRCPT     604     0029
    EA-HRCRU     604     0029
    EA-HRCSE     604     0029
    EA-HRCSG     604     0029
    EA-HRCTH     604     0029
    EA-HRCTW     604     0029
    EA-HRCUN     604     0029
    EA-HRCUS     604     0029
    EA-HRCVE     604     0029
    EA-HRCZA     604     0029
    EA-HRGXX     604     0029
    EA-HRRXX     604     0029
    EA-PS     604     0007
    EA-RETAIL     604     0007
    FINBASIS     604     0008
    ECC-DIMP     600     0018
    ERECRUIT     604     0008
    FI-CA     604     0008
    FI-CAX     604     0007
    INSURANCE     600     0018
    IS-CWM     600     0018
    IS-H     600     0024
    IS-M     600     0018
    IS-OIL     600     0018
    IS-PS-CA     604     0007
    IS-UT     600     0018
    LSOFE     600     0018
    SEM-BW     604     0008
    ST-A/PI     01M_ECC600     0001
    Regards
    Edited by: satheesh0812 on Nov 17, 2011 7:57 AM

    Hi Sateesh,
    SAP_ABA 701 0007
    SAP_BASIS 701 0007
    PI_BASIS 701 0007
    ST-PI 2008_1_700 0003
    SAP_BS_FND 701 0008
    SAP_BW 701 0007
    SAP_AP 700 0021
    WEBCUIF 700 0008
    SAP_APPL 604 0008
    Based on the component information provided by you, I can conclude that your system is ECC 6.0 EHP4.
    EHP4 is derived from your component SAP_APPL 604.
    In addition to this your EHP4 system has NW stack on NW 7.0 EHP1.
    Hence your system is ECC 6.0 EHP4 with NW 7.0 EHP1.
    Hope this answers your query.
    Regards,
    Deepak Kori

  • Need to find out how much % of query completed from OEM

    Need to find out how long will a query take to run or when I am running the query where can I check to see that X% of my query is complete.
    Is that % shown on OEM --> Performance --> Top Activitity?

    Under OEM/GC of release 10g you won't be able to see how long the query will take neither how much % of a query are already finished.
    I know that this functionality was given in the old release of the OEM (javas based GUI with ll the databases on the left side). I'm missing
    that old functionality, too...

  • How to check the tables we have created in JDBC??

    I have created a table called COFFEE2 in a datasource called temp which is in SQL server...How to check the table values??
    i went into administrative tools and odbc cource then i could see the data source i have created but how to see the table??
    Can anyone help??
    thanx

    Hmm.. not sure that I understand the problem.
    Call getConnection on the DataSource, and then execute the select query on the connection.
    Kaj

  • How to check with table for cursor..?

    How to check with table for cursor..?
    Here I have Table temp_final_plan
    Here i want to update if already exit...below is the procedure....
    CREATE OR REPLACE PROCEDURE spu_final_profit_plan
    AS
    -- Constant declarations
      ln_errnum number := 0;
    -- Variable declarations
       ls_errmsg app_errors.err_msg%TYPE;
       ls_appmsg app_errors.app_msg%TYPE;
       ls_appid  app_errors.app_id%TYPE;
    -- Cursor declaration for final_update_el
    CURSOR cur_final_update_el IS
        select '910' ent,
               '9127316' center,
               post_acct,
               sum(avg_mtd_01) sum_avg_mtd_01,
               sum(avg_mtd_02) sum_avg_mtd_02,
               sum(avg_ytd_01) sum_avg_ytd_01,
               sum(avg_ytd_02) sum_avg_ytd_02
          from mon_act_cypy
         where rec_type = 'A'
           and sum_flag = 'D'
           and yr = '2008'
           and substr(ctr_or_hier, 1, 2) = 'el'
           and ent || sub_ent in
               (select ent || sub_ent
                  from ent_ref
                 where roll_ent || roll_sub_ent = '999100')
         group by post_acct
        having sum(avg_mtd_01) <> 0
            or sum(avg_mtd_02) <> 0
            or sum(avg_ytd_01) <> 0
            or sum(avg_ytd_02) <> 0;
    -- Cursor declaration for final_update
    CURSOR cur_final_update IS
        select b.plan_ent b_plan_ent,
               b.plan_ctr b_plan_ctr,
               a.post_acct a_post_acct,
               sum(a.avg_mtd_01) sum_avg_mtd_01,
               sum(a.avg_mtd_02) sum_avg_mtd_02,
               sum(a.avg_ytd_01) sum_ytd_mtd_01,
               sum(a.avg_ytd_02) sum_ytd_mtd_02
          from mon_act_cypy a,
               plan_unit_tbl b
         where a.ent || a.ctr_or_hier = b.ent || b.ctr_or_hier
           and a.rec_type = 'A'
           and a.sum_flag = 'D'
           and a.yr = '2008'
           and b.hier_tbl_num = '001'
           and a.ent || a.sub_ent in
               (select ent || sub_ent
                  from ent_ref
                 where roll_ent || roll_sub_ent = '999100')
         group by b.plan_ent, b.plan_ctr, a.post_acct
        having sum(a.avg_mtd_01) <> 0
            or sum(a.avg_mtd_02) <> 0
            or sum(a.avg_ytd_01) <> 0
            or sum(a.avg_ytd_02) <> 0;
    -- Begin the procedure body
       BEGIN
    -- Insert / Update final profit plan for final_update query using cursor
       FOR rec_final_update_el IN cur_final_update_el
       LOOP
       EXIT WHEN rec_final_update_el%NOTFOUND;
       IF rec_final_update_el. THEN
          UPDATE temp_final_plan
             SET sum_avg_mtd_01 = rec_final_update_el.sum_avg_mtd_01,
                 sum_avg_mtd_02 = rec_final_update_el.sum_avg_mtd_02,       
                 sum_avg_ytd_01 = rec_final_update_el.sum_avg_ytd_01,       
                 sum_avg_ytd_02 = rec_final_update_el.sum_avg_ytd_02,       
           WHERE ent = rec_final_update_el.ent
             AND center = rec_final_update_el.center
             AND post_acct = rec_final_update_el.post_acct;
       ELSE
          INSERT INTO temp_final_plan VALUES(rec_final_update_el.ent,
                                             rec_final_update_el.center,
                                             rec_final_update_el.post_acct,
                                             rec_final_update_el.sum_avg_mtd_01,
                                             rec_final_update_el.sum_avg_mtd_02,
                                             rec_final_update_el.sum_avg_ytd_01,
                                             rec_final_update_el.sum_avg_ytd_02);
       END IF;
       END LOOP;
    -- Insert / Update final profit plan for final_update query using cursor
       FOR rec_final_update IN cur_final_update
       LOOP
       EXIT WHEN rec_final_update%NOTFOUND;
       IF rec_final_update. THEN
          UPDATE temp_final_plan
             SET sum_avg_mtd_01 = rec_final_update.sum_avg_mtd_01,
                 sum_avg_mtd_02 = rec_final_update.sum_avg_mtd_02,       
                 sum_avg_ytd_01 = rec_final_update.sum_avg_ytd_01,       
                 sum_avg_ytd_02 = rec_final_update.sum_avg_ytd_02,       
           WHERE ent = rec_final_update.b_plan_ent
             AND center = rec_final_update.b_plan_ctr
             AND post_acct = rec_final_update.a_post_acct;
       ELSE
          INSERT INTO temp_final_plan VALUES(rec_final_update.b_plan_ent,
                                             rec_final_update.b_plan_ctr,
                                             rec_final_update.a_post_acct,
                                             rec_final_update.sum_avg_mtd_01,
                                             rec_final_update.sum_avg_mtd_02,
                                             rec_final_update.sum_avg_ytd_01,
                                             rec_final_update.sum_avg_ytd_02);
       END IF;
       END LOOP;
    -- EXCEPTION handling section
       EXCEPTION
    -- Fire OTHERS Exception case by default
       WHEN OTHERS THEN
    -- ROLL BACK Transaction, if any failure
       ROLLBACK;
       ln_errnum := SQLCODE;
       ls_errmsg := SUBSTR(SQLERRM, 1, 100);
    -- Log the ERRORS into APP_ERRORS table using SPU_LOG_ERRORS procedure
       spu_log_errors(ln_errnum, ls_errmsg, ls_appid, ls_appmsg);
    -- End of the stored procedure
    END spu_final_profit_plan;
    [\pre]                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

    I'm not sure what you mean by, 'How to check with table for cursor..?' but I'll offer a comment on your Code Snippet. I think you want to know how to check if a record exists so you know if you need to perform an INSERT or an UPDATE.
    Here is a snippet of your code. I'll put my comments in "Comment" style in your code.
    -- Insert / Update final profit plan for final_update query using cursor
       FOR rec_final_update_el IN cur_final_update_el
       LOOP
    /* There is no need to test for %NOTFOUND since you are using Cursor FOR Loop! 
    ** This construct automatically exits when the last record is processed. */
       EXIT WHEN rec_final_update_el%NOTFOUND;
    /* Is this where you would like to know how to Check if the record already exist??
    ** I asked this because, 'rec_final_update_el.' is not valid syntax.  Are you looking for
    ** an Cursor Attribute or Method you can check here? 
    ** I would suggest a Primary Key or Unique Index on ENT, CENTER, and POST_ACCT
    ** on the TEMP_FINAL_PLAN table. Then simply perform an INSERT and code an
    ** Exception to UPDATE when you get a DUP_VAL_ON_INDEX exception.  Otherwise,
    ** you will need to simply run an Implicit or Explicit Cursor to test if the row exists and
    ** use this return value to determine if you should INSERT or UPDATE.  */
       IF rec_final_update_el. THEN
          UPDATE temp_final_plan
             SET sum_avg_mtd_01 = rec_final_update_el.sum_avg_mtd_01,
                 sum_avg_mtd_02 = rec_final_update_el.sum_avg_mtd_02,       
                 sum_avg_ytd_01 = rec_final_update_el.sum_avg_ytd_01,       
                 sum_avg_ytd_02 = rec_final_update_el.sum_avg_ytd_02,       
           WHERE ent = rec_final_update_el.ent
             AND center = rec_final_update_el.center
             AND post_acct = rec_final_update_el.post_acct;
       ELSE
          INSERT INTO temp_final_plan VALUES(rec_final_update_el.ent,
                                             rec_final_update_el.center,
                                             rec_final_update_el.post_acct,
                                             rec_final_update_el.sum_avg_mtd_01,
                                             rec_final_update_el.sum_avg_mtd_02,
                                             rec_final_update_el.sum_avg_ytd_01,
                                             rec_final_update_el.sum_avg_ytd_02);
       END IF;
       END LOOP;I hope I've answered your question, but if I haven't please provide more details so we can better understand your request.
    Craig...

Maybe you are looking for