duplicate in meterilized lines views

We have a materialized view refresh the jobs that go with dbms_scheduler every morning.
DBMS_MVIEW. REFRESH (LIST = > 'SUBSCRIBER', METHOD = > 'C', atomic_refresh = > FALSE);
Oddly today morning that we noted duplicated in the Mview lines

I ran this mview refresh manually, there is no duplicates now

could you guys face this King of the problem at any time, you may guss what could be the problem for that


Thank you
-AK

tt0008 wrote:
We have a materialized view refresh the jobs that go with dbms_scheduler every morning.
DBMS_MVIEW. REFRESH (LIST-online "SUBSCRIBER", METHOD-online 'C', atomic_refresh => FALSE);
Oddly today morning that we noted duplicated in the Mview lines

I ran this mview refresh manually, there is no duplicates now

could you guys face this King of the problem at any time, you may guss what could be the problem for that

Something in the data source that was there and no longer are?

Very carefully check the underlying SQL of the MV

Also check the SQL used to query the MV for find duplicates

Tags: Database

Similar Questions

  • How to duplicate the iGoogle canvas view (full-screen) of portlets?

    Is it possible for the portlets in webcenter to have the same point of view full screen like iGoogle done? with the tabs on the left side?

    It seems discussions spec WSRP 2.0 on this subject, but have no idea how to do to start.

    http://docs.oasis-open.org/WSRP/v2/WSRP-2.0-spec-OS-01.html#_Window_States

    It is somewhat possible in WebCenter, but it does not use the windowstate. Although it should... According to the JSR 286 specification, as just like the WSRP specification, a portlet can have different viewstates being normal, reduced, expanded. When you ask a portlet to make maximized, is the portal responsebility to hide other portlets and it display full screen. I believe, however, WebCenter does not. You can tell your portlet to render but enlarged webcenter will ignore this and show your portlet as it would be in a normal state...

    However, you can work around this little problem by adding the portlet to your navigation model. When you add a portlet directly to your navigation, it will be a link to a special page with a stretchLayout have been only this portlet is displayed. In this way, the portlet wil be rendered enlarged way and taking the size of the screen.

  • SQL help - lines, view by grouping...

    Greetings!

    Is this possible in Oracle 10 g using the SQL statement.

    EMP table - EMPLID, DEPTID fields.
    Data: E01, D01
    E02, D01
    E03, D01
    E11, D11
    E12, D11

    I'm looking for output as follows using a SQL statement...

    DeptID, EmplID
    D01 E01
    E02
    E03
    D11, E11
    E12


    Thanks in advance.

    Try this:

    WITH emp AS
    (SELECT 'E01' emplid, 'D01' deptid FROM dual UNION ALL
     SELECT 'E02' emplid, 'D01' deptid FROM dual UNION ALL
     SELECT 'E03' emplid, 'D01' deptid FROM dual UNION ALL
     SELECT 'E11' emplid, 'D11' deptid FROM dual UNION ALL
     SELECT 'E12' emplid, 'D11' deptid FROM dual)
    SELECT   CASE ROW_NUMBER () OVER (PARTITION BY deptid ORDER BY deptid)
             WHEN 1 THEN deptid||','||emplid
             ELSE emplid
             END dept_emp
    FROM     emp
    ORDER BY deptid,
             emplid
    
  • check duplicates when adding lines to single selection

    Hi all
    I my have the table. User can add rows by clicking the Add button. Suppose the user selects the code as LOV CODE1, then click Add and the code as CODE1 .at that time single user must be informed that he chose this code.this table has unique salt; ection. ANC, someone tell me how the functionalty above can be achieved.

    Thank you
    Amrit

    Hello

    When he clicks on LOV, he calls the processFromRequest, here you can browse the VO and can check, whether the values of two columns are then even throw the exception.

    thanx
    Pratap

  • Incorrect results to view online help?

    Hi I have the following query (on 10.2.0.4):
      WITH hel_grantees AS
           (SELECT /*+ MATERIALIZE */
                   *
            FROM   (SELECT rol_cpy, rol_pol_no, rol_number, rol_rot_code
                          ,DENSE_RANK() OVER(PARTITION BY rol_pol_no ORDER BY rol_pol_no
                           ,DECODE(rol_rot_code
                                  ,'TRUSTEE', 1
                                  ,'CELLHOLDER', 2
                                  ,'ASSIGNEE', 3
                                  ,'GRANTEE', 4
                                  ,'ASSURED', 5
                                  )) priority
                    FROM   pa_roles_mv
                    WHERE  rol_end_date IS NULL
                    AND    rol_pol_no IS NOT NULL
                    AND    rol_cpy = 'HEL'
                    AND    rol_rot_code IN
                             ('ASSIGNEE', 'TRUSTEE', 'GRANTEE', 'ASSURED'
                             ,'CELLHOLDER'))
            WHERE  priority = 1 AND rol_rot_code = 'GRANTEE')
          ,hel_assignees AS
           (SELECT /*+ MATERIALIZE */
                   *
            FROM   (SELECT rol_cpy, rol_pol_no, rol_number, rol_rot_code
                          ,DENSE_RANK() OVER(PARTITION BY rol_pol_no ORDER BY rol_pol_no
                           ,DECODE(rol_rot_code
                                  ,'TRUSTEE', 1
                                  ,'CELLHOLDER', 2
                                  ,'ASSIGNEE', 3
                                  ,'GRANTEE', 4
                                  ,'ASSURED', 5
                                  )) priority
                    FROM   pa_roles_mv
                    WHERE  rol_end_date IS NULL
                    AND    rol_cpy = 'HEL'
                    AND    rol_pol_no IS NOT NULL
                    AND    rol_rot_code IN
                             ('ASSIGNEE', 'TRUSTEE', 'GRANTEE', 'ASSURED'
                             ,'CELLHOLDER'))
            WHERE  priority = 1 AND rol_rot_code = 'ASSIGNEE')
          ,hel_cellholders AS
           (SELECT /*+ MATERIALIZE */
                   *
            FROM   (SELECT rol_cpy, rol_pol_no, rol_number, rol_rot_code
                          ,DENSE_RANK() OVER(PARTITION BY rol_pol_no ORDER BY rol_pol_no
                           ,DECODE(rol_rot_code
                                  ,'TRUSTEE', 1
                                  ,'CELLHOLDER', 2
                                  ,'ASSIGNEE', 3
                                  ,'GRANTEE', 4
                                  ,'ASSURED', 5
                                  )) priority
                    FROM   pa_roles_mv
                    WHERE  rol_end_date IS NULL
                    AND    rol_cpy = 'HEL'
                    AND    rol_pol_no IS NOT NULL
                    AND    rol_rot_code IN
                             ('ASSIGNEE', 'TRUSTEE', 'GRANTEE', 'ASSURED'
                             ,'CELLHOLDER'))
            WHERE  priority = 1 AND rol_rot_code = 'CELLHOLDER')
          ,hel_assureds AS
           (SELECT /*+ MATERIALIZE */
                   y.rol_cpy, y.rol_pol_no rol_pol_no, y.rol_number
                  ,y.rol_rot_code
            FROM   (SELECT *
                    FROM   (SELECT rol_cpy, rol_pol_no, rol_number, rol_rot_code
                                  ,DENSE_RANK() OVER(PARTITION BY rol_pol_no ORDER BY rol_pol_no
                                   ,DECODE(rol_rot_code
                                          ,'TRUSTEE', 1
                                          ,'CELLHOLDER', 2
                                          ,'ASSIGNEE', 3
                                          ,'GRANTEE', 4
                                          ,'ASSURED', 5
                                          )) priority
                            FROM   pa_roles_mv
                            WHERE  rol_end_date IS NULL
                            AND    rol_cpy = 'HEL'
                            AND    rol_pol_no IS NOT NULL
                            AND    rol_rot_code IN
                                     ('ASSIGNEE', 'TRUSTEE', 'GRANTEE', 'ASSURED'
                                     ,'CELLHOLDER'))
                    WHERE  priority = 1 AND rol_rot_code = 'TRUSTEE') x
                  ,pa_roles_mv y
            WHERE  x.rol_pol_no = y.rol_pol_no
            AND    y.rol_end_date IS NULL
            AND    y.rol_cpy = 'HEL'
            AND    y.rol_rot_code = 'ASSURED')
          ,hil_grantees AS
           (SELECT /*+ MATERIALIZE */
                   *
            FROM   (SELECT rol_cpy, rol_pol_no, rol_number, rol_rot_code
                          ,DENSE_RANK() OVER(PARTITION BY rol_pol_no ORDER BY rol_pol_no
                           ,DECODE(rol_rot_code
                                  ,'TRUSTEE', 1
                                  ,'CELLHOLDER', 2
                                  ,'ASSIGNEE', 3
                                  ,'GRANTEE', 4
                                  ,'ASSURED', 5
                                  )) priority
                    FROM   pa_roles_mv
                    WHERE  rol_end_date IS NULL
                    AND    rol_pol_no IS NOT NULL
                    AND    rol_rot_code IN
                             ('ASSIGNEE', 'TRUSTEE', 'GRANTEE', 'ASSURED'
                             ,'CELLHOLDER'))
            WHERE  priority = 1 AND rol_rot_code = 'GRANTEE')
          ,hil_assignees AS
           (SELECT /*+ MATERIALIZE */
                   *
            FROM   (SELECT rol_cpy, rol_pol_no, rol_number, rol_rot_code
                          ,DENSE_RANK() OVER(PARTITION BY rol_pol_no ORDER BY rol_pol_no
                           ,DECODE(rol_rot_code
                                  ,'TRUSTEE', 1
                                  ,'CELLHOLDER', 2
                                  ,'ASSIGNEE', 3
                                  ,'GRANTEE', 4
                                  ,'ASSURED', 5
                                  )) priority
                    FROM   pa_roles_mv
                    WHERE  rol_end_date IS NULL
                    AND    rol_cpy = 'HIL'
                    AND    rol_pol_no IS NOT NULL
                    AND    rol_rot_code IN
                             ('ASSIGNEE', 'TRUSTEE', 'GRANTEE', 'ASSURED'
                             ,'CELLHOLDER'))
            WHERE  priority = 1 AND rol_rot_code = 'ASSIGNEE')
          ,hil_cellholders AS
           (SELECT /*+ MATERIALIZE */
                   *
            FROM   (SELECT rol_cpy, rol_pol_no, rol_number, rol_rot_code
                          ,DENSE_RANK() OVER(PARTITION BY rol_pol_no ORDER BY rol_pol_no
                           ,DECODE(rol_rot_code
                                  ,'TRUSTEE', 1
                                  ,'CELLHOLDER', 2
                                  ,'ASSIGNEE', 3
                                  ,'GRANTEE', 4
                                  ,'ASSURED', 5
                                  )) priority
                    FROM   pa_roles_mv
                    WHERE  rol_end_date IS NULL
                    AND    rol_cpy = 'HIL'
                    AND    rol_pol_no IS NOT NULL
                    AND    rol_rot_code IN
                             ('ASSIGNEE', 'TRUSTEE', 'GRANTEE', 'ASSURED'
                             ,'CELLHOLDER'))
            WHERE  priority = 1 AND rol_rot_code = 'CELLHOLDER')
          ,hil_assureds AS
           (SELECT /*+ MATERIALIZE */
                   'HIL' rol_cpy, y.rol_pol_no rol_pol_no, y.rol_number
                  ,y.rol_rot_code
            FROM   (SELECT *
                    FROM   (SELECT rol_pol_no, rol_number, rol_rot_code
                                  ,DENSE_RANK() OVER(PARTITION BY rol_pol_no ORDER BY rol_pol_no
                                   ,DECODE(rol_rot_code
                                          ,'TRUSTEE', 1
                                          ,'CELLHOLDER', 2
                                          ,'ASSIGNEE', 3
                                          ,'GRANTEE', 4
                                          ,'ASSURED', 5
                                          )) priority
                            FROM   pa_roles_mv
                            WHERE  rol_end_date IS NULL
                            AND    rol_cpy = 'HIL'
                            AND    rol_pol_no IS NOT NULL
                            AND    rol_rot_code IN
                                     ('ASSIGNEE', 'TRUSTEE', 'GRANTEE', 'ASSURED'
                                     ,'CELLHOLDER'))
                    WHERE  priority = 1 AND rol_rot_code = 'TRUSTEE') x
                  ,pa_roles_mv y
            WHERE  x.rol_pol_no = y.rol_pol_no
            AND    y.rol_end_date IS NULL
            AND    rol_cpy = 'HIL'
            AND    y.rol_rot_code = 'ASSURED')
      SELECT   rol_cpy, rol_number, rol_type, cpy_name, cpy_cty_code
      FROM     dmf_transactions JOIN dmd_transaction_types
               ON dtrt_id = ftrn_dtrt_id AND dtrt_code = 'RPT'
               JOIN dmd_policies ON dpol_id = ftrn_dpol_id AND dpol_pp_ind != 'Y'
               JOIN dmd_times ON dtim_id = ftrn_dtim_id
               JOIN
               (SELECT rol_cpy, rol_pol_no, rol_number, rol_rot_code
                FROM   hil_grantees
                UNION
                SELECT rol_cpy, rol_pol_no, rol_number, rol_rot_code
                FROM   hil_assureds
                UNION
                SELECT rol_cpy, rol_pol_no, rol_number, rol_rot_code
                FROM   hil_cellholders
                UNION
                SELECT rol_cpy, rol_pol_no, rol_number, rol_rot_code
                FROM   hil_assignees
                UNION
                SELECT rol_cpy, rol_pol_no, rol_number, rol_rot_code
                FROM   hel_grantees
                UNION
                SELECT rol_cpy, rol_pol_no, rol_number, rol_rot_code
                FROM   hel_assureds
                UNION
                SELECT rol_cpy, rol_pol_no, rol_number, rol_rot_code
                FROM   hel_cellholders
                UNION
                SELECT rol_cpy, rol_pol_no, rol_number, rol_rot_code
                FROM   hel_assignees) role_tab
               ON rol_pol_no = dpol_pol_no AND rol_cpy = dpol_cpy_flag
               JOIN
               (SELECT cpy_cpy, cpy_number, 'CPY' rol_type, cpy_name
                      ,cpy_cty_code
                FROM   pa_companies_mv
                UNION ALL
                SELECT psn_cpy, psn_number, 'PSN', psn_surname, psn_cty_code
                FROM   pa_persons_mv)
               ON rol_cpy = cpy_cpy AND rol_number = cpy_number
      WHERE    ftrn_end_dtim_id IS NULL
      AND      ftrn_status IN('P', 'D')
      AND      dpol_id IN(
                 SELECT fpol_dpol_id
                 FROM   dmf_policies JOIN dmd_policy_statuses
                        ON dps_id = fpol_dps_id AND dps_status_group = 'IN FORCE'
                 WHERE  fpol_dtim_timestamp = (SELECT dwutils.getdwsysdateid
                                               FROM   DUAL)
                 AND    fpol_premium_freq = 'S')
      GROUP BY rol_cpy, rol_number, rol_type, cpy_name, cpy_cty_code
      HAVING   SUM(ftrn_mamount_gbp) > 225000;
    The line view alias role_tab returns exactly the same results using UNION or UNION ALL, ie. I remove all other tables and execute select role_tab on the tables of the WITH clause.

    What is expected as the return values are logically unique.

    So I decided to go with UNION ALL to the performance. However, the returned results are different when used in the context of the entire query - with UNION 122 096 rows are returned, UNION ALL returns 137 904...

    This could be the cause, I may be missing something, but it seems to me that one or both sets of results must by incorrect?

    Any ideas or help would be greatly appreciated.

    See you soon

    Ben

    I think that your problem lies here:

          ,hil_grantees AS
           (SELECT /*+ MATERIALIZE */
                   *
            FROM   (SELECT rol_cpy, rol_pol_no, rol_number, rol_rot_code
                          ,DENSE_RANK() OVER(PARTITION BY rol_pol_no ORDER BY rol_pol_no
                           ,DECODE(rol_rot_code
                                  ,'TRUSTEE', 1
                                  ,'CELLHOLDER', 2
                                  ,'ASSIGNEE', 3
                                  ,'GRANTEE', 4
                                  ,'ASSURED', 5
                                  )) priority
                    FROM   pa_roles_mv
                    WHERE  rol_end_date IS NULL
    --->
                    AND    rol_pol_no IS NOT NULL
                    AND    rol_rot_code IN
                             ('ASSIGNEE', 'TRUSTEE', 'GRANTEE', 'ASSURED'
                             ,'CELLHOLDER'))
            WHERE  priority = 1 AND rol_rot_code = 'GRANTEE')
    

    you are missing the following line:

    AND    rol_cpy = 'HIL'
    

    So presumably you will get HEL so much HIL rows in the subquery, but you also get the lines of HEL in an another subquery. UNION will remove the duplicate set.

    I think you could do this in a more easy way, by collapsing your subqueries in one (or maybe two) - looks that you single out a TRANSFEREE line if you have a line of TRUSTEE, which you could do this by adding a pivot.

  • What is the right way to commit 100,000 lines?

    Hi guys and girls,

    With the help of JDev 11.1.2.3.0.

    I have 10 000 ranks of the master, gave each of them runs in 9 different algorithms, 90 000 detail lines.  I now need to commit the 100,000 (10 000 masters & 90 000 retail) lines to my database.  What is the best way to accomplish this feat?  I am open to suggestions and ideas.  I'm not married to a particular approach, any strategy and have little experience running such a large DataSet.

    Currently, I iterate through the lines view object 10 000 in my application and for each line module, apply a Prediction algorithm, whose results are inserted into an object of the detail view.  The main line of vo is updated with a reference for the best results in detail, and then all have been committed through getDbTransaction.commit ();

    Is there a way to say, commit 10 000 lines, let the database do its thing and once again the calculations?  Once the database did commit, commit an another 10,000.  In this way the module of the application and the database work in parallel rather than one waiting on the other.

    Thoughts?

    Thank you

    Will be

    It looks like that there. Check the Advanced Techniques of object entity - 11 g Release 1 (11.1.1.7.0)

    As far as I know, there is no parallel work (adf and db). What you can do is to use the PL/SQL to insert the data and calculations on the side of the db. This can be faster than to browse all lines in the adf.

    Timo

  • Script to find duplicates in a row and combine the data in specific column

    Looking for a script to find duplicates in a line like below...

    "VM1', 'VM', 'LDEV', 'LDEV1', 'LDEV2', 'LDEV3', 'LDEV4', 'LDEV5', 'LDEV6 '.
    'VM', 'VI-SVC-VM001', "0000ef ', ' '," "," "," "," ""
    'VM', 'VI-SVC-VM001', "0000de ', ' '," "," "," "," ""
    'VM', 'VI-SVC-VM002', "0000df ', ' '," "," "," "," ""
    'VM', 'VI-SVC-VM002', "0000f0 ', ' '," "," "," "," ""

    .. .and manipulate the data in the following:

    "VM1', 'VM', 'LDEV', 'LDEV1', 'LDEV2', 'LDEV3', 'LDEV4', 'LDEV5', 'LDEV6 '.
    "" 'VM', 'VI-SVC-VM001', '0000ef', "0000de ', ' ', ' '," "," ""
    "" 'VM', 'VI-SVC-VM002', '0000df', "0000f0 ', ' ', ' '," "," ""

    (Note: VM VI-SVC-VM001 object has two LDEVs him assigned 0000ef and 0000de)

    There may be two, three, or n LDEVs attributed to each VM object. I guess I have to build a table and the "join-collections" script can't cut it on this one.

    I have the process to follow, I just need to put it in a loop (note, data already sorted on the virtual computer object):

    1 import-csv

    2. read each line, matched VM object, copy each found LDEV and place it in the next LDEV along

    3. remove the duplicate line

    4. rinse, repeat until the end

    Thank you.

    It's a solution pleasant Luc. I didn't use the Group-Object cmdlet to solve this problem.

    Now I can go to sleep without having to worry about this problem more.

  • View Client for Linux, stay connected after disconnect

    I have a large lot of IGEL Linux thin clients, and I have them updated to the latest version which includes the latest version of Linux client to view.

    The default behavior of the application is not to go out when a connection to a virtual machine descends from the intentional log out of the virtual machine.  This is crazy, because the Windows version of the leave application automatically demand the closing of the session of the view.

    This means that when my users log out of their VM because they are trained, the thin client is left to a State after the entry password and before the selection of the pool.  The next person to use the workstation would have access to their account.

    It makes no sense at all.  How to change to exit the application?  Until I change it, my Linux thin clients are useless.

    Hello

    According to Aaron, it works as expected.

    BUT, we did a way to change the behavior of the Client.

    Please consult this document:

    https://www.VMware.com/PDF/view-client-Linux-document.PDF

    On page 22, you will find the explanation of the parameter "-once."

    Specifies that you don't want to see Client to retry the connection in the case of an error occurring.
    Use - once if you want to get a workflow similar to the view client 4.6. This option will force the client to view to exit once the user disconnects or logs off of a desktop computer.
    You generally must specify this option if you are using the kiosk mode and use the exit code to handle the error. Otherwise, you might find it difficult to kill the vmware-view process remotely.
    If you set the configuration key, specify "TRUE" or "FALSE". Default value is "FALSE".

    You can use it like this (tested on an Ubuntu machine):

    -Open a terminal and run 'vmware-view - once'

    or

    -Change the file in the home folder of the user, called: .vmware/view-preferences

    -Add the line: view.once = 'TRUE '.

    For the client to hedgehogs, or all other types/brands/models, I don't know if you can access and apply the changes, so I recommend contacting technical support of these devices.

    Hope this helps,

    Kind regards

    Jonathan

  • What line has been activated in a (updated report) SQL query?

    I have an app with a report based on a query SQL (PL/SQL function...) defined on the Global Page.

    I want on the pages where the report is used, click on a particular column (TCKT_ID), and then pass the values of this line to another page for treatment.

    I would like to know things:

    (1) how to determine which line clicked?  The column is TCKT_ID and it is used as a link to another page.  The SQLis a significant (for me!) join the tables.

    (2) how to see the values of other columns in the same row?  Because I format with 'div', columns are named - no "f02", of "f03", etc.

    (3) how to pass multiple values (ENAME, JOB, MGR, SAL, COMM) to the target page?  You might ask: why not just re - query data using a unique key.  Great idea, but the unique key is four columns if I still need a way to pass these four values for this unique key.

    I built a 'pretty close' example of the situation in the present case:

    WS APEX_EXAMPLES_01

    Demo / demo

    Application: Line Info 10782 - Page 0 has the report.  Page 1 poster with a link (in red) on page 2.

    I think I can fill most of what I need if someone can just show me how to make, say, the ENAME of the line clicked on page 1, so I can use it to filter the query on page 2 for just this line clicked on page 1.

    From < tt > < /tt >, I tried show the actual line view - Source of the actual report than just let me but it comes out like this

    M F

    MM_O_BD_DAILY. CTL (D046 ftp) CMM_O_BD_DAILY.sh (ftp D046) 17:15

    10-13 JUNE AT 17:00:52
    10-13 JUNE AT 17:00:53

    17:15

    10-13 JUNE AT 17:00:52
    10-13 JUNE AT 17:00:53

    17:00

    10-13 JUNE AT 17:00:59
    10-13 JUNE AT 17:01
    THERE

    ARS003_TEST NEXT BUSINESS DAY

    I wonder if I'm not understanding something. This seems to be a very simple thing to do without 'tricks '.

    Take a look, I modified the column LINKING_NUMBER of the report of p0.

    Basically, you specify only the fields you want to fill and their assignments.  I added 4 fields of destination on p2 to receive assignments.  Then you can do whatever you want with them as editing a report, etc...

    The only trick here is to get more than 3 elements in the URL, you must change your Page link type in this URL request.  You can specify lost elements in this way.

    Thank you

    -Jorge

  • IPad Client for View 5 supports Subject Alternative Name (SAN) certificates?

    Does anyone know if the iPad App to see 5.0 Update for subject alternative name (SAN) certificates?  I tested a SAN certificate on a view Security Server 5.0, and it worked great for all the FQDN in the certificate when you use the view Windows 5.0-based Client.  However, when I try to connect using the iPad App, it seems to trust only the common name (CN) rather than additional complete domain names in the SAN certificate.  The nice thing about SAN certificates is that you can buy 1 certificate with a whole bunch of domain names and use the same certificate on multiple servers.  But this seems to break the view iPad customer.  Can anyone confirm that this is a limiation of the iPad App?  This should be corrected in a future release?  Or are we stuck buying individual certificates for each of our servers?

    I had this same problem.  I get mine from DigiCert, and they offer duplicate certificates.  I had a duplicate with my FQDN View Manager like CN first and installed.  After that, I was able to use it on the iPad.

  • Table 2 join vs inline view join to another table

    Hi, I was wondering if it makes a difference of 2 tables to join directly vs join of a table to a view online. I ran a few tests of my own and looked like to explain plans. The costs appear to be identical between each method. But, I was wondering if there are situations where a method should be used on the other.

    Using Oracle version 11.2.0.2.0

    The tables are as follows.

    Table1 (varchar2 (20) col1, col2 number)
    Table2 (col1 number, col2, col3 number)

    insert into table1 values ('test1', 1).
    insert into table1 values ('test', 2)
    insert into table2 values (1, 2, 4)
    insert into table2 values (2, 2, 4)


    Here is an example that I use.

    Select a.col1, b.col3
    FROM table1, table2 b
    where a.col2 = b.col2
    and a.col1 = 'test '.

    Select a.col1, b.col3
    FROM table1, (select col2, col3 from table2) b
    where a.col2 = b.col2
    and a.col1 = 'test '.

    Published by: arizona9952 on December 29, 2012 12:49

    Hello

    arizona9952 wrote:
    Hi, I was wondering if it makes a difference of 2 tables to join directly vs join of a table to a view online. I ran a few tests of my own and looked like to explain plans. The costs appear to be identical between each method.

    About efficiency, it does not matter that you use. The online display will not necessarily be performed first. The optimizer chooses what it thinks is the best plan anyway.

    But, I was wondering if there are situations where a method should be used on the other. Here is an example that I use.

    Select a.col1, b.col3
    FROM table1, table2 b
    where a.col2 = b.col2
    and a.col1 = 'test '.

    Select a.col1, b.col3
    FROM table1, (select col2, col3 from table2) b
    where a.col2 = b.col2
    and a.col1 = 'test '.

    I can't imagine any situation where the choice between these two issues. But consder the query below:

    SELECT  a.col1
    ,      b.col3
    FROM     table1 a
    ,      (          -- Begin in-line view b
             SELECT  col2
             ,          col3
         --  ,         ROWNUM     AS r_n
             FROM    table2
             WHERE   col2_type     = 'NUMBER'
         ) b               -- End in-line view B
    WHERE     a.col2     = TO_NUMBER (b.col2)
    AND     a.col1      = 'test'
    ;
    

    Suppose table2.col2 is a VARCHAR2 and table2.col2_type correctly identifies if col2 can be converted to a NUMBER. The above query might get conversion errors, because the optimzer may decide to join first and evaluate the WHERE col2_type = 'NUMBER' later condition, how to make sure that doesn't happen is different depending on whether you use a subquery or not. If you use a sub0 query (such as display online above) you can add a reference to ROWNUM in the subquery, as displayed if commnet line.

  • Remove all duplicate table rows

    How can I remove all duplicate rows from a table

    remove from
    where rowid in)
    Select max (rowid)
    Of
    where
    Group
    having count (*) > 1
    )

    It will remove if there are 2 rows then recent will be deleted
    If 3 or more so that one line will be deleted
    You can run the above query re until you found 0 deleted rows.
    If there are duplicate of a line 10 rows, you must run 9 times.
    There is no single lines deleted in this query.

  • How to create a tiled line pattern?

    Hello

    How can I create a tiled like the one on the image line pattern? (Illustrator CS5)

    deseb.jpg

    Is there a more convenient way than drawing and the duplication of lines? When I have this and fill the shape with the boss, I see the gaps between tiles. Remember the same model on Microsoft Word? I want to create this on Illustrator. Should which method I follow?

    Thank you.

    Draw a horizontal line and apply a stroke. Duplicate this exact line vertically, apply no fill, no respect.

    Drag the two of them in the swatches Panel. This is the configuration. Applies to a shape and then turn only the model of your form.

  • Copy a few lines in the same table, but with different IDS

    Hi all
    I had this problem... I have a table with its pk (which is a sequence). With a statement select, I extract a few lines, and then I would record in the same table, but with IDS different (obviously eheheh).

    I don't know how to do...

    Thks for all help ;)


    p.s. I want to change some fields in lines before saving as well... don't know how do it more...

    example:

    ID NAME TYPE
    1 ferrari car
    2 cars lamborghini


    I'm trying to copy the second and changing its type in "BMW".

    I could result:

    1 ferrari car
    2 cars lamborghini
    3 bmw cars



    Thank you

    Assuming that your table is named cars_tb and the cars_seq of the sequence.

     insert into cars_tb
      select cars_seq.nextval, name, type
      from cars_tb
    

    This would overlap with any existing lines, but with a new id.

    If you want to duplicate a specific line and change a value, you could do something like:

     insert into cars_tb
      select cars_seq.nextval, name, 'BMW'
      from cars_tb
      where type = 'lamborghini'
    

    or better, use the PK

     insert into cars_tb
      select cars_seq.nextval, name, 'BMW'
      from cars_tb
      where id = 2
    
  • Select "ordinate inline-view" - the output orders or not?

    Request always generates data ordered by "T1.col3"?
    select * from (select col1 from T1 where col2=10 order by Col3 desc ) where ROWNUM <= 5;
    As you can see I ordered in line-view, then I select data from this view inline with external selection. It is ensured that the data is output now as he was ordered inside inline-wiew? Can watch tests that Yes, the data seem to be ordered as order is defined inline-notice. I understand inline-view is as something static snapshot, area, where the data are well classified, and if I now running on such thing an external "select * from"-clause, then he should get out of the well-ordered way, because I don't join what anyone or to do something else, I simply by selecting all the lines in one ordered in line-view. "» Am I right or not?

    (Oracle 10g, Solaris OS)


    ---

    The example data:
    with T as
    (select 1 as col1, 10 as col2, 106 as col3 from dual union all
    select 5 as col1, 10 as col2, 100 as col3 from dual union all
    select 6 as col1, 10 as col2, 104 as col3 from dual union all
    select 3 as col1, 10 as col2, 101 as col3 from dual union all
    select 4 as col1, 10 as col2, 105 as col3 from dual union all
    select 2 as col1, 10 as col2, 103 as col3 from dual)
    select * from (select col1 from T where col2=10 order by Col3 desc ) where ROWNUM <= 5;
    Edited by: CharlesRoos the 10.12.2010 15:49

    Hello

    CharlesRoos wrote:
    The following query always generates data by "T1.col3"?

    select * from (select col1 from T1 where col2=10 order by Col3 desc ) where ROWNUM <= 5;
    

    The output will contain the 5rows with 5 larger values for Col3.
    These 5 rows not necessarily appears in order. Add an ORDER BY clause in the main query if you need ensure that.

    Maybe it's that, on your version of Oracle and your platform, the main request happen to keep the agenda constantly. This is exactly the kind of thing that stops working when you move to another version or another platform. If you want the end result in good standing, to use an ORDER BY clause in the main query.

Maybe you are looking for