Several cursors

I have an idea to work with cursors, which has added or deleted cursor to the program is running. Slide numbers must be defined in a first time, but I need to change number of dynamic cursor. Maybe if possible it can be done menu popup to add or remove the cursor. I have no idea how to do that and it is possible to use the XControl to develop it.

Thank you!

MikeS81 wrote:

To hide them you can put in the foreground / background transparent.

Here is a simple example of earlier.

Tags: NI Software

Similar Questions

  • Using the same subquery in several cursors

    I have a small subquery that I am currently reuse in many cursors (that he returned to about a thousand files). I was wondering if there is a better way - to a performance and a readability perspective - to go about it rather than rewrite the subquery several times in each cursor? I was thinking about a global temporary table or materialized view, but I don't know if it's necessary here / it will help with performance, because the query is so small.

    Here's an example of how I currently my code wrote:
    CURSOR sample_a_cur IS
    WITH subquery_view AS
    (
    SELECT *
    FROM   table
    )
    SELECT *
    FROM   table_a ta,
           sub_query_view sqv
    WHERE  ta.code = sqv.code;
    
    CURSOR sample_b_cur IS
    WITH subquery_view AS
    (
    SELECT *
    FROM   table)
    
    SELECT *
    FROM    table_b tb,
            sub_query_view sqv
    WHERE   tb.code = sqv.code;
    
    etc....
    Published by: user652714 on 10 July 2012 09:10

    Hello

    I guess that there are more subquery_view than what you posted. If it's really just "SELECT * FROM table_x", then you may as well use table_x in each slider.

    user652714 wrote:
    I have a small subquery that I am currently reuse in many cursors (that he returned to about a thousand files). I was wondering if there is a better way - to a performance and a readability perspective - to go about it rather than rewrite the subquery several times in each cursor? I thought in a global temporary table or materialized view.

    How about a regular view?

    CREATE OR REPLACE VIEW subquery_view
    AS
    SELECT  *
    FROM        table_x
    ;
    

    In your PL/SQL code, you can reference it as an array:

    CURSOR sample_a_cur IS
        SELECT  *
        FROM    table_a          ta,
                    sub_query_view      sqv
        WHERE   ta.code  = sqv.code;
    
    CURSOR sample_b_cur IS
        SELECT  *
        FROM    table_b          tb,
                sub_query_view     sqv
        WHERE   tb.code = sqv.code;
    
    ....
    

    You do not need to fill out or refresh the view.

    but I don't know if it's necessary here / it will help with performance, because the query is so small.

    You're right; It may not be important for performance.
    However, the code will be easier to maintain and less likely to have bugs, if you do something, whether a regular view, materialized view, or a global temporary table, so that when you need to change sub_query_view, just make the change in one place.

  • How do I know what cursor is moved in a XY Chart with several cursors existing.


    The XY-graph has a cursor-exit event., this event will return an index which the cursor has been moved.

    Good luck

    Tone

  • Cursor with several cursors: how to keep a slider to go to top/below the other?

    Hello

    I have a slider control that has two sliders. I couldn't programatical stop one of the sliders to go beyond the other.

    Is there a simple way to stop a cursor having the other?

    Stephen

    Sounds like this - http://forums.ni.com/t5/LabVIEW/Limit-range-of-one-slider-to-the-other-slider-s-value-on-a-two/m-p/2...

  • Several cursor values

    is it possible to make a statement if the cursor is > 30 = and < = 40?

    if (slider >= 30 && slider <= 40) {
        // do something
    }
    

    .. .or maybe you talk about something else!

  • Create cursors programmatically with custom properties

    Hello!

    I have problems creating cursors by programming in Labview 2009. Basically, I have an image that is rendered as a table. When you press a button, I want about 7 sliders to appear on the graph of the intensity of my image. I then want to read values from the sliders (z-values) and do some calculations base with them.

    The Labview help says to use the CursorList property to create sliders so I understand. I am trying this now, as follows:

    Create the property node and the link to the image. Choose the property of CursorList. Right click and create constant. Then I'm trying out the different sliders with the index of table vi, change their names to 1-7. Then I thought to put their back with the cluster vi version, but it does not work.

    In the future, I would like to set several properties of each slider (and not just the name). What is the right approach for my problem? I did a search on the topic, but nothing useful came. Please point me to a thread that I might have missed.

    Is attached a screenshot of my problem... How to create several cursors at a time by programming with some properties tuned to my taste?

    Thanks for your help!

    Chris

    Kokomoking wrote:

    Hello!

    I have problems creating cursors by programming in Labview 2009. Basically, I have an image that is rendered as a table. When you press a button, I want about 7 sliders to appear on the graph of the intensity of my image. I then want to read values from the sliders (z-values) and do some calculations base with them.

    The Labview help says to use the CursorList property to create sliders so I understand. I am trying this now, as follows:

    Create the property node and the link to the image. Choose the property of CursorList. Right click and create constant. Then I'm trying out the different sliders with the index of table vi, change their names to 1-7. Then I thought to put their back with the cluster vi version, but it does not work.

    In the future, I would like to set several properties of each slider (and not just the name). What is the right approach for my problem? I did a search on the topic, but nothing useful came. Please point me to a thread that I might have missed.

    Is attached a screenshot of my problem... How to create several cursors at a time by programming with some properties tuned to my taste?

    Thanks for your help!

    Chris

    Do not build Bay cluster. Just use build array (programming-> table-> table of generation). Who should take care of your cut wire. When you use the cluster table version, it builds your cluster in ANOTHER group that is not what you want.

    The table of index VI is also extensible (click on the lower part of it and drag). In this way, that you don't need 8 of them on your drawing.

  • Camera Raw 8.7.1.311, but it lacks several features such as "fill-in"...

    I have 13 elements, with plugin Adobe Camera Raw 8.7.1.311, but it lacks several cursors as 'fill light' and does not 7 editing such as "retail" functions It's PSE 13 home edition.

    Is there a way I can improve ACR or items to achieve the comprehensive features of ACR?

  • Optimize the edge animate cursors/Pages/symbols for major animation projects

    Hey all,.

    I'm looking for a way to optimize a page slider several created with edge animate CC, it is currently works well on the latest such as iphone 4S etc devices but nothing more really Caryl, the scenario (which I'm sure is a common very) is:

    I have an Edge animate file where I created a several cursor page where each page is a symbol that contains sub symbols which slide on the page and the old slides for symbol page, content off the page, there is a decent amount of animation in a loop on each page.  The total size of the cursor, images etc. code is about 800 k total. There is no other content on the page, just this slider.

    The problem seems to be that each symbol page there sub symbol and its content are active and continue to animate even when they are more on the stage so it would seem that it is treating all 7 pages at a time, instead of just active page/symbol and its current content.

    So my question is: Y at - it a simple way to optimize the edge so that it does not receive and treat a symbol/Page current and it is void / symbols/content at the same time? Or am I wrong somehow on the use of the off scene processing / page content?

    Thanks for your time, it is much appreciated! And a Merry Christmas to all who read here at this time of the year!

    See you soon,.

    Jeff

    Hi, Jeff.

    There is a way to load and unload the symbols dynamically, which can solve your problem.  That being said, this method would not solve your problem of payload to the initial download, but that would mean that your symbols do not play in the background.  Before you try this, have you tried simply to stop the animation of your symbol when you Exchange to another?  It means a little more work in your scripts, but remove dynamic symbols has its own complexities as well.

    Allied http://www.Adobe.com/devnet-docs/edgeanimate/API/current/index.html#Create_symbols_dynamic

    And then look at the deleteSymbol().

    Hope that helps,

    -Elaine

  • Respond to touch simultaneously

    Hello world

    I have 3 HSlider in my Flex app, and I would like the user to be able to drag them all together (simultaneously).

    The problem now is that when the user is dragging a HSlider, the application does not meet the second touch on the other HSlide (user can only drag a cursor at a time)

    How would I be able to allow the user to drag several cursor at the same time?

    Thank you!!

    I tried

    Multitouch.inputMode=MultitouchInputMode.TOUCH_POINT;
    
    AND
    
    Multitouch.inputMode=MultitouchInputMode.GESTURE;
    

    But it still does not work...

    First of all, you need to set the inputMode:

    Multitouch.inputMode=MultitouchInputMode.TOUCH_POINT;
    

    And then you have to write your own slider component. The default HSliders are built to meet MouseEvents and therefore will not work with multitouch.

  • Estimate of poor cardinality using Bind Variables

    Hi I'm using the 11.2.0.4.0 Oracle version. I have a query that is underway for the plan of the poor execution by the estimate of poor cardinality for two tables (I've extracted and published this part only) as I mentioned below, the individual conditions for which the estimate goes bad and moving entire query execution path.

    These are for two tables and currently we use BIND variable for them in our code, and I notice, its best estimate gives with literals. I need to know how to handle this scenario that I need this query to execute for all types of volumes. Is there something I can do without changing the code, as it works well for most of the execution? In the current scenario of the main query that uses those below tables providing a plan (index + nested loop) that works very well for small volume, but running for 10 hr + for large volume as ideally its going to the same regime.
    And Yes, most time that this request will be hit for small volume, but killing some appearance of large volume presents the performance of the queries.


    Here are the values of the variable binding.

    B1 VARIABLE VARCHAR2 (32);
    B2 VARIABLE VARCHAR2 (32);
    B3 VARIABLE NUMBER;
    B4 VARIABLE VARCHAR2 (32);
    B7 VARIABLE VARCHAR2 (32);
    B5 VARIABLE NUMBER;
    B6 VARIABLE NUMBER;

    EXEC: B1: = 'NONE ';
    EXEC: B2: = NULL;
    EXEC: B3: = 0;
    EXEC: B4: = NULL;
    EXEC: B7: = NULL;
    EXEC: B5: = 0;
    EXEC: B6: = 0;

    ---- For  TABLE1-------
     -- Published Actual VS Etimated cardinality
     
     
    -- With bind values
    select * from TABLE1 SF
    WHERE (   (SF.C1_IDCODE = :B4) OR (NVL (:B4, 'NONE') = 'NONE'))
        AND ( (SF.C2_ID = :B3) OR (NVL (:B3, 0) = 0));
    Plan hash value: 2590266031
    -----------------------------------------------------------------------------------------------------------------------------------------------
    | Id  | Operation                 | Name                | Starts | E-Rows | A-Rows |   A-Time   | Buffers | Reads  |  OMem |  1Mem | Used-Mem |
    -----------------------------------------------------------------------------------------------------------------------------------------------
    |   0 | SELECT STATEMENT          |                     |      1 |        |  28835 |00:00:00.08 |    2748 |     46 |       |       |          |
    |*  1 |  TABLE ACCESS STORAGE FULL| TABLE1              |      1 |     11 |  28835 |00:00:00.08 |    2748 |     46 |  1025K|  1025K|          |
    -----------------------------------------------------------------------------------------------------------------------------------------------
    Predicate Information (identified by operation id):
    ---------------------------------------------------
       1 - storage((("SF"."C1_IDCODE"=:B4 OR NVL(:B4,'NONE')='NONE') AND ("SF"."C2_ID"=:B3 OR NVL(:B3,0)=0)))
           filter((("SF"."C1_IDCODE"=:B4 OR NVL(:B4,'NONE')='NONE') AND ("SF"."C2_ID"=:B3 OR NVL(:B3,0)=0))) 
     
    -- With literals 
    select * from TABLE1 SF
     WHERE  (   (SF.C1_IDCODE = null) OR (NVL (null, 'NONE') = 'NONE'))
          AND ( (SF.C2_ID = 0) OR (NVL (0, 0) = 0));
       Plan hash value: 2590266031
    --------------------------------------------------------------------------------------------------------------------------------------
    | Id  | Operation                 | Name                | Starts | E-Rows | A-Rows |   A-Time   | Buffers |  OMem |  1Mem | Used-Mem |
    --------------------------------------------------------------------------------------------------------------------------------------
    |   0 | SELECT STATEMENT          |                     |      1 |        |  28835 |00:00:00.03 |    2748 |       |       |          |
    |   1 |  TABLE ACCESS STORAGE FULL| TABLE1              |      1 |  28835 |  28835 |00:00:00.03 |    2748 |  1025K|  1025K|          |
    --------------------------------------------------------------------------------------------------------------------------------------
    
    --------For TABLE2 ----------------------- 
    -- Published Autotrace plan, as it was taking long time for completion, and actual cardinality is 45M, but its estimating 49 With bind value---
    
    --withbind value
    select * from TABLE2 MTF
    WHERE (   (MTF.C6_CODE = TRIM (:B2)) OR (NVL (:B2, 'NONE') = 'NONE'))
      AND (   (MTF.C3_CODE = :B1)  OR (NVL (:B1, 'NONE') = 'NONE'))
      AND (   (MTF.C4_CODE = :B7)  OR (:B7 IS NULL))
      AND (   (MTF.C5_AMT <= :B6)  OR (NVL (:B6, 0) = 0))
      AND (   (MTF.C5_AMT >= :B5)  OR (NVL (:B5, 0) = 0));
    Execution Plan
    ----------------------------------------------------------
    Plan hash value: 1536592532
    -----------------------------------------------------------------------------------------------------------
    | Id  | Operation                  | Name         | Rows  | Bytes | Cost (%CPU)| Time     | Pstart| Pstop |
    -----------------------------------------------------------------------------------------------------------
    |   0 | SELECT STATEMENT           |              |    49 | 10437 |   358K  (1)| 01:11:43 |       |    |
    |   1 |  PARTITION RANGE ALL       |              |    49 | 10437 |   358K  (1)| 01:11:43 |     1 |  2 |
    |*  2 |   TABLE ACCESS STORAGE FULL| TABLE2       |    49 | 10437 |   358K  (1)| 01:11:43 |     1 |  2 |
    -----------------------------------------------------------------------------------------------------------
    Predicate Information (identified by operation id):
    ---------------------------------------------------
       2 - storage(("MTF"."C4_CODE"=:B7 OR :B7 IS NULL) AND ("MTF"."C3_CODE"=:B1 OR
                  NVL(:B1,'NONE')='NONE') AND ("MTF"."C5_AMT"<=TO_NUMBER(:B6) OR NVL(:B6,0)=0) AND
                  ("MTF"."C5_AMT">=TO_NUMBER(:B5) OR NVL(:B5,0)=0) AND ("MTF"."C6_CODE"=TRIM(:B2) OR
                  NVL(:B2,'NONE')='NONE'))
           filter(("MTF"."C4_CODE"=:B7 OR :B7 IS NULL) AND ("MTF"."C3_CODE"=:B1 OR
                  NVL(:B1,'NONE')='NONE') AND ("MTF"."C5_AMT"<=TO_NUMBER(:B6) OR NVL(:B6,0)=0) AND
                  ("MTF"."C5_AMT">=TO_NUMBER(:B5) OR NVL(:B5,0)=0) AND ("MTF"."C6_CODE"=TRIM(:B2) OR
                  NVL(:B2,'NONE')='NONE'))
      
    -- with literal
    select * from TABLE2 MTF
    WHERE (   (MTF.C6_CODE = TRIM (null)) OR (NVL (null, 'NONE') = 'NONE'))
     AND (   (MTF.C3_CODE = 'NONE') OR (NVL ('NONE', 'NONE') = 'NONE'))
      AND (   (MTF.C4_CODE = null)  OR (null IS NULL))
       AND (   (MTF.C5_AMT <= 0)  OR (NVL (0, 0) = 0))
      AND (   (MTF.C5_AMT >= 0)  OR (NVL (0, 0) = 0));
    Execution Plan
    ----------------------------------------------------------
    Plan hash value: 1536592532
    -----------------------------------------------------------------------------------------------------------
    | Id  | Operation                  | Name         | Rows  | Bytes | Cost (%CPU)| Time     | Pstart| Pstop |
    -----------------------------------------------------------------------------------------------------------
    |   0 | SELECT STATEMENT           |              |    45M|  9151M|   358K  (1)| 01:11:41 |       |    |
    |   1 |  PARTITION RANGE ALL       |              |    45M|  9151M|   358K  (1)| 01:11:41 |     1 |  2 |
    |   2 |   TABLE ACCESS STORAGE FULL| TABLE2 |    45M|  9151M|   358K  (1)| 01:11:41 |     1 |  2 |
    -----------------------------------------------------------------------------------------------------------
    
    select column_name,num_nulls,num_distinct,density
    from dba_tab_col_statistics where table_name='TABLE2'
    and column_name in ('C3_CODE','C4_CODE','C5_AMT','C6_CODE');
    C3_CODE 0 65 0.0153846153846154
    C4_CODE 0 2 0.5
    C5_AMT 0 21544 4.64166357222429E-5
    C6_CODE 1889955 71 0.0140845070422535
    
    

    933257 wrote:

    ((SF. C1_IDCODE =: B4) OR (NVL (: B4, 'NONE') = 'NONE'))

    In fact for literals, I did not find any section of the predicate after running the sql code with activation "set autotrace traceonly explain."

    The main problem is with another large query whose cardinality is underestimated due to the presence of these table (table1, table2) with the above mentioned clause, and the query is for the analysis of index + nested with values of Bind loops and take 10 hr +, whereas with literals, its completion in ~ 8minutes with FTS + Hash Join.

    Your real problem is that you try to have just a single SQL query handle all POSSIBLE thanks to the use of embedded FILTERS ' either / or ' filters in the WHERE clause.  You want only a select this OPTION to run whatever filters have been selected at run time by the user or the application using it.  And it would never work.  You really need to SELECT different queries for different combinations of filter conditions.

    Why?  Think for a minute.  How Oracle works internally?  A SQL SELECT query gets analyzed and an execution plan is produced which is stored in the library cache and gets REUSED on all subsequent executions of this query - except in certain cases where there may exist several plans run through several cursors of the child.  So with only SELECT a query you only AN execution plan in the library cache, to be used by all THE executions of this query, regardless of the value of your run-time binding variables.

    Lets put another way - each library cache execution plan is associated with a SQL statement.  If you want a DIFFERENT execution plan then you need run a DIFFERENT SQL statement.  That's how you get a different execution plan - by running a different SQL statement.  Running the SAME SQL query generally you will get the SAME execution plan every time.

    In addition, because of the "either / or" filters that you use you will end up generally with a full Table Scan on each of the referenced tables.  Why?  Given that the optimizer must produce an implementation plan that manages all possible contingencies for all values of possible bind variables in the SELECT.  If the optimizer should choose to use any index based on one of these "either / or" filters then it would only help performance when real value was provided, but it would be really bad if a NULL value was supplied.  If the optimizer ends up ignoring the index because they are not always optimal for all possible input values and instead chose a plan that is "good enough" for all input values possible.  That means that it will use a scanning Table full.

    I hope you can see that it is precisely what is happening for you with your query.  You select this OPTION to manage the different combinations of filter, which leads to the execution plan only one, which leads to scans full Table on the referenced tables in these ' either / or ' filters.

    The solution?  Build queries SELECT DIFFERENT when input values are NULL.  How you do that?  Read this article to ask Tom that tells you:

    http://www.Oracle.com/technetwork/issue-archive/2009/09-Jul/o49asktom-090487.html

    To sum up - when you have real value for a bind variable 'bind_var1' add the following filter to your CHOICE:

    AND column_name1 =: bind_var1

    When the binding variable is NULL, add the filter according to your CHOICE:

    AND (1 = 1 OR: bind_var1 IS NULL)

    Now, you'll have 2 queries SELECT must be performed, which have exactly the same number of variables in the same order bind, which is important.  When you then run one of these variations, Oracle can analyze and optimize each one SEPARATELY, with a single execution by the SELECT query plan.

    When you provide a real value, the filter is a normal 'column = value' that the optimizer can use all indexes on this column, because NULL values are not referenced.

    When there is no real value, the optimizer will analyze the '1 = 1 GOLD' and realize that "1 = 1" is set to TRUE and GOLD, it is quite TRUE regardless because the binding variable is null or not.  This means that the optimizer will actually REMOVE this filter, because it filters nothing because it is always TRUE.  You will end up with an operating plan based on the other filters in the query, which is what you want because you have no filter on this column.

    What is it - producing distinct SELECT queries to determine if you have a real value to filter or not you end up with DIFFERENT execution plans for each of them, and each of them is OPTIMAL for this particular set of filters.  Now you get good performance for each variation of the performance of the SELECTION, rather than sometimes good and sometimes very bad when using SELECT only one.  It is impossible to try to get multiple shots of execution 'optimal' out of a SELECT query.  That's why you get mediocre performance under different bound the values of the variables.

    John Brady

  • Keyboard pad shortcuts are not available in the SQL Editor

    Hello

    I see, this slider several keyboard shortcuts (Alt + Shift + Pg. Prev and Alt + Shift + PgDown) are unavailable when the SQL Editor opens.

    They are available only for the text editor. The menu entry (for example change > pad > add cursor above) is also disabled.

    However to create several cursors using mouse is available even for the SQL Editor (ctrl + shift + click).

    Is there a technical reason why the hotkey is disabled for SQL publishers?

    Pavel

    technically, it's probably an oversight, but practically, it's a bug

  • CANCEL reading and overall-TWG temporary table

    Hello Expert!

    Based on an analysis made by my colleagues... He mentions on a compound of SQL to extract data only to leave a TWG and overturn readings! (Current_obj # ash captured as a event 0 and wait - db_file_sequential_read)

    The thought difficult to obtain a cancellation reason reading when extracting data from TWG!.

    On cancellation, cancellation would be needed!

    But as TWG specific Session, at any time in my session would read the latest copy for all operations. This reading must come from a buffer or disc (Temp).

    Why a reading of cancellation will be required?

    Can you please help me understand a scenario where cancel read for TWG is valid or unrealistic?

    Or conceptually missed something?

    Based on an analysis made by my colleagues... He mentions on a compound of SQL to extract data only to leave a TWG and overturn readings! (Current_obj # ash captured as a event 0 and wait - db_file_sequential_read)

    The thought difficult to obtain a cancellation reason reading when extracting data from TWG!.

    TWG activity generates CANCEL as a result of DML for any table. Which CANCEL then also causes RESTORE to be generated.

    On cancellation, cancellation would be needed!

    OK - but this isn't the only case of use.

    But as TWG specific Session, at any time in my session would read the latest copy for all operations. This reading must come from a buffer or disc (Temp).

    And that is where you get off the track. These statements are NOT correct.

    A session can open several sliders on these data TWG and these several cursors can represent a different "coherent reading" as far as data is concerned.

    Tom Kyte explains better in this AskTom blog.

    https://asktom.Oracle.com/pls/Apex/f?p=100:11:0:P11_QUESTION_ID:4135403700346803387

    and we said...

    Yes, temporary tables generate UNDO - and therefore to generate REDO to CANCEL it.

    Do it again for the cancellation must be created because Cancel is treated the same, the undo tablespace seems to be corrupted on an event of failure/media instance recovery if the cancellation has disappeared.

    The cancellation must be filed in support of the coherence of reading. For example, if you:

    (a) charge a TWG of temporary table with data

    (b) open cursor_1 SELECT * from TWG

    (c) update the data of TWG

    (d) open cursor_2 SELECT * from TWG

    (e) delete most of the data of TWG

    (f) open cursor_3 SELECT * from TWG

    Each of these sliders should see a different result set - we have not recovered from them, has just opened their. cursor_1 must push the blocks changed to point in time (b). This requires CANCELLATION. Thus, the cancellation must be generated - and undo is always protected by the roll forward.

    Changed blocks to the TWG, as for ANY table could be physically written to disk until the transaction is completed. It is not always room in the cache buffers for ALL data that has changed.

    And, as Tom above, each of the sliders really sees the data at a point different 'read-consistent. If some of these extractions of cursor will require reading the UNDO data for "compatible" data for this particular slider.

    The point in time' is established when a cursor is open - no data has yet been read yet.

    See the section 'Multiversion Concurrency Control' of the doc

    https://docs.Oracle.com/CD/B28359_01/server.111/b28318/consist.htm#i17881

    Multiversion Concurrency Control

    Database Oracle automatically provides the reading consistency to a query so that all the data that sees the request comes from a single point in time (at the level of instruction read consistency). Oracle database can also provide read consistency to all queries in a transaction (consistency of reading at the level of transactions).

    Oracle database uses information stored in its rollback segments to provide these consistent views. Rollback segments contain old data values that have been changed by validated or recently committed transactions. Figure 13-1 shows how the Oracle database provides consistent reading using rollback segments data at the level of instruction.

    That reference above 'consistent read to a query' also applies when cursors are opened.

  • Reg: Cardinality Feedback for queries with variable bind

    Hi all

    One of my query (having no bind variables) takes a lot of time (10 minutes) to run for the second run.

    I came to know that its due to the feedback of the cardinality.

    I disabled _optimer_use_feedback for help and the query has been run within 2 seconds.

    If I disable _optimizer_use_feedback at the instance level, is there a problem for queries with variable bind?

    > Sorry! I'm not suppose to disclose the NAMES OF THE TABLES

    OK, no problem and I take this restriction as a chance to learn what is cardinality comments, and similar expressions.  Now, since you can't explain post program for our help, I would try to explain what is comments of cardinality and similar expressions: (since you did not mention Oracle version, so I guess it's 11.2.0.1)

    In the Oracle 11.2.0.1 database some SQL statements returns significantly different lines i.e. for some SQL statements earlier execution plan there are has 100 lines by optimizer in the first plan of execution and, where the same SQL statement executed, based optimizer 1000 lines.  This happens because of several cursors for child for a single SQL statement and change bind peeking, collection of statistics, characteristic of re-optimizing 11.2.0.1, permission to referenced objects, ACS (Adaptive Cursor sharing) etc.  The preaching of changes to lines due to above reasons as well regarding also the SQL statements that are not contains the variable i.e. AKA vibration cardinality of liaison function.

    I will highly recommend to read other links below:

    Cardinality feedback | Notebook of the Oracle

    http://www.centrexcc.com/tuning%20by%20Cardinality%20Feedback.ppt.PDF

    https://blogs.Oracle.com/optimizer/entry/cardinality_feedback

    Concerning

    Girish Sharma

  • How to capture hardparsed Sqls.

    Hi I'm using Oracle 10.2.0.4.0.

    I want to get the list of those who are hardpared several times (maybe 100 times more) SQL and do not bind variable, increasing therefore shared burden of pool. So is there an easy way to capture these sqls, only using "Select" statements (that I did not create the object of rights in prod)?.

    Hello

    you are right about that there is two different cases: several cursors of the child (because of the incompatibility of the bind variables size, settings of optimizer etc.) and several sliders parent (due to the use of literals). Given that in your original post you were talking about is not using bind variables, I don't mention one, since it is has nothing to do with the not not using bindings. But if you want to look at the issue as well, perhaps the best reference is MOS 296377.1 and notes referenced that are there. I doubt that V$ SQL.parse_calls will be of no use here because analysis calls include soft parsed and interested probably only parsed hard.

    You're not quite right about "different sql_id for the same text" - the text will be different due to different values of literals, and this is exactly the reason for different sql id

    Best regards
    Nikolai

  • ORA error-40501 impossible Record of reserve for the update or delete.

    I'm testing a new program and get ORA-40501 error-could not reserve Record to update or Delete.
    The database prevents users both a motion trigger and a ' clause ' a query data source, type a»»
    the block property. The query itself works fine, I get the error only when I leave the field that I am trying to update.
    I don't know if this is related, but on a multi byte field, touch I new characters are all displayed one after the other
    in the same byte 1 of the form.
    Update/deletion is not appropriate when you use a prior query?
    I normally don't use queries before, but in this particular program, records that I selected are based on several cursors
    as well as some parameters entered in a previous block, and that's the only way I could think to do. I guess
    It was not a way to use the query data Source Type = Table and be able to make the selection of records I need.
    Thank you
    Sandy

    Since you use "clause of" query as a data source, you will need to manage the insertion, update, lock and delete operations on this datablock. If you need to implement on Insertion, on-Update, on-Lock and the removal of the triggers for that to happen.

    I don't know the query that you put in the data source contains a single table or multiple tables. If you have a single table so better to use as a name of the source table and the data table as the data source name. If it contains more than one table, then you must handle transactions on-... Triggers.

    If you don't want to do all the DML operations on this block then.

    In the trigger lock, simply add NULL;

    I hope this helps.

    Kind regards
    Annick...

Maybe you are looking for