Sequence the missing value

Hello gurus,

I load the data staging table to focus and need to generate the sequence during the loading of target. With the help of kickbacks.


Table 1 CBC (intermediate table) table 2: TGT (target table)

Identity name of Sal Seq ID no name Sal
-- ---- --- --- -- ---- ---
10 'abc' 200 1 10 'abc' 200
20 'homeless' 300
30 "ghr" 400
40 "Godin" 500

My query is:

Select t.ID, t.name, t.sal, decode(t.seq,0,SEQUENCE.nextval,1,) as seq
Of
(select seq decode (tgt.seq, NULL, 0, 1), src.sal, src.name, src.ID)
the CBC
left outer join TGT
We src.id = tgt.id) t

1ST ROUND:

ID name Sal seq
--- ---- ---- ----
10 'abc' 200 NULL
20 'homeless' 1 300
30 400 2 "ghr"
40 "Godin" 500 * 3 *.
2ND ROUND:

ID name Sal seq
--- --- --- ---
10 'abc' 200 NULL
20 'homeless' 300 * 5 *.
30 "ghr" 400 6
40 "Godin" 7 500


Whenever I run the same query there is gap in the order (after 3, 4 missing is.).
Please let me know what im missing here.
or how to avoid the ditch in order.

Using Oracle 10 g Release 10.2.0.1.0

Thank you!

You can also create a small function to replace the DECODING. Subsequently, NEXTVAL is called only when the value passed in is null, so the sequence increments on another value. All SQL solutions are generally preferable, but it works.

CREATE OR REPLACE FUNCTION seq_func (p_seqval  NUMBER)
RETURN NUMBER
AS
BEGIN
  IF p_seqval = 0 THEN
    RETURN SEQUENCE.nextval;
  ELSE
    RETURN NULL;
  END IF;
END seq_func;

SELECT t.ID, t.name, t.sal, seq_func(t.seq) as seq
FROM   (SELECT src.ID ,src.name ,src.sal, decode(tgt.seq,NULL,0,1) seq
        FROM   SRC
               LEFT OUTER JOIN TGT
               ON src.id = tgt.id
       ) t

Tags: Database

Similar Questions

  • The missing value default keyboard shortcuts

    After running a program overcome some of my computer problems with my registry, I discovered that all my default, workplace agreements and sets of custom keyboard shortcuts, Swatch had disappeared. Arrangements of the workspace and the nuances are not on hard replace and make new ones. More annoying is that the default shortcut set is missing (Edition-> keyboard-> Set shortcuts), the list is empty.

    Is it possible to find this set somewhere? And where should I put it once I found it?

    See replace your preferences, but frankly I think you did real to play in the registry damage and the best way to fix it is to reinstall.

  • Update based on the missing values

    Hello

    I'm new to sql, attempted to retrieve results for the below scenario, but not able to do. Please let me know how I can do this.

    I created the sample data below

    create table id_data_upd (ID, ID_EXT, ID_VER) as

    Select '12', '123', 1' Union double all the

    Select '12', '345',' ' of all the double union

    Select '12', '446', "of all the double union

    Select ' 21 ', ' 2156', "of all the double union

    Select ' 22 ', ' 2346', 1' Union double all the

    Select ' 22 ', ' 2846', '0' of all the double union

    Select ' 22 ', ' 3456', '0' of all the double union

    Select ' 32 ', ' 4512', 1' Union double all the

    Select ' 33 ', ' 4942', '0' of all the double union

    Select '33', '5639', '0' double;

    My data source is

    IDID_EXTID_VER
    121231
    12345
    12456
    212156
    2223461
    2234560
    22325420
    3245121
    3349420
    3356390

    I'm trying to update the data for power two conditions

    (1) If for the same id, there are a several ID_EXT and also check if the ID_VER = 1, then all other documents with this ID the ID_VER should be updated 0

    (2) if there is a single record ID with ID_EXT unique with on no matter what ID_VER must be updated to iD_VER as 1

    Data in the target after updates

    IDID_EXTID_VER
    121231
    123450
    124560
    2121561

    I tried the County of ID_EXT (having count (ID_EXT) = 1), but records that should not be coming are also coming.

    Please tell me how I can do this.

    Best regards and thanks,

    Quentin

    Hello

    Try this

    4d68a426-e5d3-4f8c-A933-bb16364ea560 wrote:

    Hi Frank,.

    I expect the output as below.

    ID ID_EXT ID_VER
    12 123 1
    12 345 0
    12 456 0
    21 2156 1
    22 2346 1
    22 3456 0
    22 32542 0
    32 4512 1
    33 4942 0
    33 5639

    0

    Thank you

    Quentin

    with t as (  -- start sample data
    select '12' id, '123' id_ext , '1'  id_ver  from dual union all
    select '12', '345' , ' ' from dual union all
    select '12', '446' , '' from dual union all
    select '21', '2156' , '' from dual union all
    select '22', '2346' , '1' from dual union all
    select '22', '2846' , '0' from dual union all
    select '22', '3456' , '0' from dual union all
    select '32', '4512' , '1' from dual union all
    select '33','4942' , '0' from dual union all
    select '33', '5639' , '0' from dual )
    -- end sample data
    select id,id_ext,id_ver,
    case when row_number () over (partition by id order by id_ver desc nulls last)  > 1 then '0'
    else nvl(id_ver,'1') end new_id_ver,
    nvl(case when row_number () over (partition by id order by id_ver desc nulls last)  > 1 then '0'
    end,'1') maybe_new_id_ver
    from t
    

  • Find the missing values in the third from the two other tables table

    Hi - I tried to do it myself, but the answer escapes me. Can someone tell me please in a sense better? We have a project_categories with project_IDs and category_IDs related project table. We have another contact_categories with contact_IDs and related category_IDs contact table. We use these two tables to link contacts with the projects at least a stuff. It works well for e-mail notifications. We have a third table to 'pay' who are interested in specific projects. The hold table has contact_IDs and project_IDs related. I want to find contacts who have expressed interest in a project, by inserting a row in the table of the licensee, but they did not choose the project categories in the contact categories. It would be an exceptionally rare exception, so the test I added myself as 100010 contact as a 'holder' project, but deliberately do not have related project selected in the categories contact categories.

    Select cc.category_id, ph.contact_id, ph.project_id, pc.category_id
    of purchasing_planholder ph, purchasing_project_categories pc, purchasing_contact_categories cc
    where ph.project_id = pc.project_id
    and ph.contact_id = cc.contact_id
    and ph.contact_id. Ph.project_id | CC.category_id
    not in (select ph.contact_id |) PC.project_id | PC.category_id
    of purchasing_planholder ph, purchasing_project_categories pc, purchasing_contact_categories cc
    where ph.project_id = pc.project_id
    and ph.contact_id = cc.contact_id)
    and ph.contact_id = 100010

    It gives me every category for the touch test and each category for the project. I want to find contacts in the table of holders who have not selected the categories related to the specific project they selected in the table of the licensee. I tried less, outer joins, etc. This requires it PL/SQL and a temporary table, or can I find exceptions with a report? Or do I need a different approach? The ideal response would display a line with the contact_ID and the project, where the contact has not selected project categories. This would serve to inform them that they must select at least one of the categories project on the contact form. Thanks for any comments.

    Peter

    CONTACT_ID PROJECT STUFF STUFF
    ---------------------- ---------------------- ---------------------- ----------------------
    100010 701 1 19
    100010 701 1 18
    100010 701 16 19
    100010 701 16 18
    100010 701 21 19
    100010 701 21 18
    100010 701 24 19
    100010 701 24 18
    8 selected lines

    Hi user,

    When you post a Question in the Forum, please be clear entries must be given, the expected results and the tests you do,
    the errors/results that is facing you.

    Also, see this link to BluShadow.

    SQL and PL/SQL FAQ

    Please attach the query or programs in the code tags for code formatting.

    Just try something like that,

    SELECT *
      FROM emp c
     WHERE NOT EXISTS (SELECT *
                         FROM emp a
                        WHERE EXISTS (SELECT *
                                        FROM emp b
                                       WHERE a.empno = b.empno));
    

    In the inner query, the verified conditon is same empno in the tables and for example, some lines are obtained, other than
    train all results of the outer query.

    In the above case, no rows are returned.

    Thank you
    Shankar

  • Ignore the ASO - zero data loads and missing values

    Hello

    There is an option that ignores the zero values & the missing values in the dialog box when loading data in cube ASO interactively via EAS.

    Y at - it an option to specify the same in the MAXL Import data command? I couldn't find a technical reference.

    I have 12 months in the columns in the data flow. At least 1/4 of my data is zeros. Ignoring zeros keeps the size of the cube small and faster.

    We are on 11.1.2.2.

    Appreciate your thoughts.

    Thank you

    Ethan.

    The thing is that it's hidden in the command Alter Database (Aggregate Storage) , when you create the data loading buffer.  If you are not sure what a buffer for loading data, see loading data using pads.

  • missing value in HKEY_current_user\software\microsof\windows\currentversion\InternetsSettingsCurrentProtocols

    I try to reinstall mcafee and cannot because there is a update interface initialization error. Then I ran MVT and found the missing value above. How to fix this?

    Hi sgruppuso,

    You have problems with the upgrades of Windows or other types of updates?  Is the problem isolated to present a re-installation of McAfee.  It is re-installed because you have uninstalled it or because you did a clean install and are back programs that were there before?  If you have uninstalled, you can try the McAfee removal tool (if you use the first time) to remove all traces of the previous installation that can interfere with this relocation.  You can get that here: http://majorgeeks.com/McAfee_Consumer_Product_Removal_Tool_d5420.html and click on download the author's site.

    I don't know what version of Windows you are using (I have 32 bit Vista Business SP2) and I never had any McAfee product installed on this computer and when I checked my registry I could go as far as Internet settings.  There is no current protocol if there was a called protocols.  I checked it and the values are the values by default or not to my own product AV.

    If you've tried McAfee Virtual Technician, this does not explain if the entry comes from McAfee or something else.  I understand how to add keys and values in the registry, I don't know what key, type information, or the value to set.  And play with the registry when you don't understand exactly what you are doing can generate serious problems well beyond those that exist now.

    You must contact McAfee technical support at the: http://service.mcafee.com/TechSupportHome.aspx?lc=1033&sg=TS.  Maybe they can help by Chat or e-mail (who seem to be free although the hotline seems to cost money - I would like to try the chat first).  I would also say that you learn about their Community Forums where you might find an answer already there for this issue, or you can post your question here using people who are familiar with McAfee.  Don't forget to include the name and the McAfee product version and the version of Windows that you use in your message. https://community.mcafee.com/community/home?view=overview.

    I hope this helps.

    Good luck!

  • Find the missing numbers

    I want to find the missing of a column that is alphanumeric numbers, its last five positions are digital. In the first three places there are different combinations of alphas that is * 'BA', 'BAW","SA","SAA"... * If alphas are two then 3rd position is empty. I also need to generalize this to cover all digital series existing alpha.
    SELECT SUBSTR (a.claim_no, 4, 5) + 1
      FROM core_business.cb_pensioner a
     WHERE SUBSTR (a.claim_no, 1, 3) = 'BA '
       AND NOT EXISTS (
                     SELECT NULL
                       FROM core_business.cb_pensioner b
                      WHERE to_number(SUBSTR (b.claim_no, 4, 5)) =  to_number(SUBSTR (a.claim_no, 4, 5)) + 1) 
       order by SUBSTR (a.claim_no, 4, 5);
    I get the error ORA-01722

    You have two problems with this task.

    1 problem is how to convert a number from the back so that you can compare the values.

    to_number(SUBSTR (b.claim_no, 4, 5)) 
    

    works, but only if the b.claim_no value is always a number regardless of the other criteria of the column.

    Such an assertion

    ...
    WHERE SUBSTR (a.claim_no, 1, 3) = 'BA ' /* filter 1 */
    and to_number(SUBSTR (b.claim_no, 4, 5)) > 1 /* filter 2 */
    ...
    

    may fail because your table can have value as

    b.claimno = "XYZ1234b".

    The way you wrote the query of the database will decide what filter criteria, it first runs. It could be filter1, but could also be filter2. If filter2 is executed first, you will get the error message.

    Problem 2 how to order and compare different lines, so that you can find the missing values.

    Here the analytical function of the LEAD (LAG) is very useful. It gives you access to the next (or previous row).

    Both problems can be overcome.

    Here is my test, but I don't know if it works in your case. You may have to adapt a little.
    This should work if all lines are digital which belong to specific groups. If you have too much data incorrect in there, then a different approach is necessary.

    with testdata as (select 'XYZ1234b' claim_no from dual union all
                select 'BA 12345' claim_no from dual union all
                select 'BA 12346' claim_no from dual union all
                select 'BA 12350' claim_no from dual union all
                select 'BAW11111' claim_no from dual union all
                select 'BAW11113' claim_no from dual union all
                select 'XYZ1234b' claim_no from dual )
    /* end of test data creation */
    select claim_no, substr(claim_no, 1,3) part1, substr(claim_no, 4) part2,
           to_number(substr(claim_no, 4)) current_num,
           lead(to_number(substr(claim_no, 4))) over (partition by substr(claim_no, 1,3) order by to_number(substr(claim_no, 4))) next_num,
           lead(to_number(substr(claim_no, 4))) over (partition by substr(claim_no, 1,3) order by to_number(substr(claim_no, 4)))
            - 1 - to_number(substr(claim_no, 4))
            as "missing_values"
    from testdata
    where substr(claim_no, 1,3) in ('BAW','BA ')
    order by claim_no;
    
    CLAIM_NO PAR PART2 CURRENT_NUM   NEXT_NUM missing_values
    -------- --- ----- ----------- ---------- --------------
    BA 12345 BA  12345       12345      12346              0
    BA 12346 BA  12346       12346      12350              3
    BA 12350 BA  12350       12350
    BAW11111 BAW 11111       11111      11113              1
    BAW11113 BAW 11113       11113
    

    1 problem is solved because where condition is always executed before the function in the select clause, in particular in the context of an analytic function.
    Problem 2 is also solved by using the analytical function, function LEAD. And it's fast, because you access the same table only once. Another solution could be a subquery to extract the value of the next line. This means that multiple access to the same table and is usually much slower.

    Published by: W. Sven 20 Sep, 2010 14:32

  • Find the missing numbers in a sequence

    Hello

    We have an ORDH table, which is having an ORDERNO field which starts from 300000. currently there are approximately 100 000 documents exist in this table.
    The ORDERNO value is generated from a sequence.
    We want to find missing persons (hole in the sequence) ORDERNO from the ORDH table.
    (Ex: 300654 is missing and there are many others also missing order numbers)
    Is it possible to find all the numbers missing command in this table?

    Thanks and greetings
    Murali

    Hi, Murali,

    This will show you the missing channels in numbers between existing numbers:

    WITH     got_next_orderno     AS
    (
         SELECT     orderno
         ,     LEAD (orderno) OVER (ORDER BY orderno)     AS next_orderno
         FROM     ordh
    )
    SELECT     ordrno + 1          AS from_no
    ,     next_orderno - 1     AS to_no
    FROM     got_next_orderno
    WHERE     orderno     + 1     != next_orderno
    ;
    

    I hope that answers your question.
    If not, post a small example of data (CREATE TABLE and INSERT statements) and the results desired from these data.

  • Windows Phone, recovery tool is not installed in windows 7, says the hash value is missing

    Windows Phone, recovery tool is not installed in windows 7, says the hash value is missing. Whenever I try to install the windows phone recovery tool it does not install error

    0 x 80070003, system can't find the path or 0x800b0101, hash value is missing... Please help

    Hi Imran,

    Thanks for posting the query on Microsoft Community.

    I'm sorry to know that you can not install Windows Phone on Windows 7 recovery tool. The problem could be due to system files or software problem.

    Try to solve the problem by following the methods below.

    Method 1

    Try to run the patch from the link below and check if it helps.

    Error code 0 x 80070003 when a preference of group policy is applied on Windows 7 clients:

    http://support.Microsoft.com/kb/2904034

    If the problem persists, then go to method 2.

    Method 2

    Refer to suggestions provided by Vijay B responded on December 22, 2009.

    http://answers.Microsoft.com/en-us/Windows/Forum/Windows_7-system/the-system-cannot-find-the-path-specified-error/dae5f759-B053-4a4a-87af-42e79f517631

    I hope this helps to solve the issue. If the problem persists, get back to us. We will be happy to help you.

  • How to find missing values in the table?

    Hi all..

    Please help me.

    1.jpg

    For example:

    I have a. table

    in this table, I have a folder with the number 1 up to 10 serial number.

    And then, in table B, I put number between 1 and 10.

    and I use the number 1, 2, 3, 6, 8, 10.

    I want to find missing values between 1 and 10. So, can I select with query for this case?

    It's the value of query output:

    4, 5, 7, 9

    Sorry for the bad language.

    Thank you all.

    Select

    r

    Of

    (

    Select Rownum r

    Of the double

    Connect by Rownum<= (select="" serialto="" from="">

    )

    where are > = ((select serialfrom from tablea))

    less

    Select the series from tableb

  • Pump diagram remapping of data with the default value of sequence (12 c feature)

    Hello

    in the 12 c Oracle database there is a new feature that allows you to set default values directly from a sequence:

    http://docs.Oracle.com/database/121/NEWFT/chapter12101.htm#NEWFT155

    This helps us to save the use of triggers to get the next value of an ID column for example the DDL of such a table might look something like this:

    CREATE TABLE "FOO"."MY_TABLE" ("ID" NUMBER(10,0) DEFAULT "FOO"."MY_TABLE_ID"."NEXTVAL", ...   );

    During the pattern FOO with Data Pump export and import the schema with the remap_schema option in the BAR diagram for example, mapping works fine for all the tables, triggers, etc. except those defaults (as Oracle always writes the schema information in these default values).

    The error in the output log that says 'FOO. MY_TABLE_ID"sequence is unknown, because the sequence is now called 'BAR. MY_TABLE_ID' - mapping so does not work for default values.

    Someone knows how to fix this?

    Thanks in advance

    Concerning

    Hello

    Read this note, I think that it is an expected behavior:

    http://docs.Oracle.com/CD/E11882_01/server.112/e22490/dp_import.htm#SUTIL927

    REMAP_SCHEMA

    .

    Restrictions

    * The mapping cannot be 100 percent complete because there are some references to diagrams that importing is not able to find. For example, import will not find of references to patterns incorporated into the body of the definitions of triggers, types, views, procedures and packages.  -I think in your case it is the default value.

    * If any table in the schema are remapped contains object types defined by the user and this table changes between the time wherever it is exported and the time you are trying to import, and then import this table will fail. However, the import operation will continue.

    HTH,

    Pradeep

  • How to assign the next value in the sequence directly in a variable?

    How to assign the next value in the sequence directly in a variable without using a table TWICE in PL/SQL.

    BluShadow wrote:

    How about a quick test on 11g, just to see if you directly select a sequence in a variable is significantly better than the mark of DOUBLE.

    ...

    Nope... no obvious difference.

    This is because there is none: Oracle's SELECT sequence. NEXTVAL FROM DUAL under the covers. The direct assignment is just a convenient encoding for us, but it does not change the work that accomplishes Oracle.

    create sequence s;
    alter system flush shared_pool;
    declare
    l_num number;
    begin
    l_num := s.nextval;
    end;
    /
    select sql_text from v$sql where parsing_schema_name = user;
    
    SQL_TEXT
    Report the number of l_num; begin l_num: = s.nextval; end;
    Select sql_text from v$ sql where parsing_schema_name = user
    Select double S.NEXTVAL
  • How to set the default value of the attribute with a sequence number? Is it possible to add a string to seq.no. like abc0001?

    Mr President.

    How to set the default value of the attribute with a sequence number? Is it possible to add a string to seq.no. like abc0001?

    Concerning

    For the date, you can use groovy expression adf.currentDate to set the current date. reference http://adfgouravtkiet.blogspot.in/2012/11/how-to-set-default-values-for-entity.html

    You already have ways to use the sequence.

    How do you add a new value in the form. You're creating a new line of your page (user interface) and by engaging with validation operation? Unless you commit you will not be able to see anything in the table.

    Thank you

  • Missing value exporter or the BSO type o

    I use Hyperion Public sector Planning and I must the employee contingent. The requirement is contingent of missing employees. That means I have to export particular intersection with missing value / no.. For example

    Example 1.

    1Employee, 1allocation, 1position = 500

    Example 2

    1employee, 1, position 1 = 500

    2emplyee, allocation 2, position 2. = 0

    Example 3

    2emplyee, allocation 2, position 2. = 0

    I just need to export the data, for example 3. All missing persons or no value assigned.

    Suggest to write the rule of calculation/commercial will be really useful for me.

    Thank you

    You can use a DATAEXPORT with DATAEXPORTCOND to get the desired result, if you want to export from the essbase application

    Take a look on

    DATAEXPORT

    DATAEXPORTCOND

    Concerning

    Amarnath

    ORACLE | Essbase

  • not able to see the column with missing values

    Hello world. For a few days, I'm not able to view column that only have missing values in excel using smartview. I checked the deleted column values are all Unflagged, as to remove the missing blocks in the smartview options.
    Maybe there's something else I have installation?

    Thank you

    After unflagging "Delete column" refreshing sheet wasn't enough. To make the active sheet active options must be closed. Options then work correctly in the new worksheet (in the same excel file).

Maybe you are looking for

  • quality of mediocre photo with Deskjet 6940

    My Deskjet 6940 has never been a regular BW printing problems, but I can't produce a decent photo. Impressions are systematically too dark with contrast exaggerated, grainy and often striped. I have a new photo cartridge that tests OK, adequate level

  • Maximum latency to read/write for PCI-DIO-32HS with NOR-DAQmx?

    I was asked to evaluate using the PCI-DIO-32HS and NOR-DAQmx on MacOS X to essentially close a control loop.  My first concern is whether or not it can run fast enough. So my questions are: what is the maximum latency from the moment of receiving a s

  • How can I delete my phone number for Windows Live?

    Earl How can I remove my Ph # Win.Lv. (I gave Windows Live my Ph # to reset my password & now every e-mail I get go my phone + Windows Live as well)

  • Click on the mouse does not open some items on my desktop.

    On the desktop of my laptop, double click will not open one of the icons.  To open my HOTMAIL (for example), I have to go down to the Explorer icon and type in HOTMAIL.COM. This is just one example.  I may need a new mouse?  Or a new battery for my m

  • Software update of the W200i

    I have a w200i I want to update the software on. The phone is running "Vodaphone" software with a "Tesco" SIM mobile (ie: it is unlocked). the software is generally buggy and cumbersome and I hope that the new software will be easier to use. In parti