Split the data into multiple  rows in table

Hello,
I am using Oracle 10g apex 3.2.
I have a requirement like this.
I have a table like TableA
Col1 Col2
90 1
91 1:2:3
92 3
I want the data like
Col1 Col2
90 1
91 1
91 2
91 3
92 3
How to do this?
Thanks
Edited by: user13305573 on Aug 3, 2010 8:16 PM

with
   your_data as
   select 90 as col1, '1'  as col2      from dual union all
   select 91, '1:2:3'   from dual union all
   select 92, '3'       from dual
select
   y.col1,   
   regexp_substr(y.col2, '[^:]+', 1, t1.column_value) as col2
from
   your_data y,
13     table(cast(multiset(select level from dual connect by  level <= length (regexp_replace(y.col2, '[^:]+'))  + 1) as sys.OdciNumberList)) t1
14  /
              COL1 COL2
                90 1
                91 1
                91 2
                91 3
                92 3
5 rows selected.
Elapsed: 00:00:00.05
ME_XE?select * from v$version;
BANNER
Oracle Database 10g Express Edition Release 10.2.0.1.0 - Product
PL/SQL Release 10.2.0.1.0 - Production
CORE     10.2.0.1.0     Production
TNS for Linux: Version 10.2.0.1.0 - Production
NLSRTL Version 10.2.0.1.0 - Production
5 rows selected.
Elapsed: 00:00:00.03
ME_XE?

Similar Messages

  • Splitting comma seperated column data into multiple rows

    Hi Gurus,
    Please help me for solving below scenario. I have multiple value in single column with comma seperated values and my requirement is load that data into multiple rows.
    Below is the example:
    Source Data:
    Product         Size                                 Stock
    ABC              X,XL,XXL,M,L,S                 1,2,3,4,5,6
    Target Data:
    Product         Size                                 Stock
    ABC              X                                     1
    ABC              XL                                   2
    ABC              XXL                                 3
    ABC              M                                    4
    ABC              L                                      5
    ABC             S                                        6
    Which transformation we need to use for getting this output?
    Thanks in advance !

    Hello,
    Do you need to do this tranformation through OWB mapping only? And can you please tell what type of source you are using? Is it a flat file or a table?
    Thanks

  • Alternative way to fetch the data into single row.

    we have a query
    SELECT COLUMN_NAME FROM USER_TAB_COLUMNS WHERE TABLE_NAME='XXX';
    This query will return the data in multiple rows.
    May know the alternative way to retrieve all the multiple rows in **single row with each row as a seperate column**.

    Why specifically an array - and do you want the SQL projection as an array, or collect the SQL projection into an array?
    E.g.
    SQL> create or replace type TStrings is table of varchar2(4000);
      2  /
    Type created.
    SQL> --// SQL projection casted into an array
    SQL> select
      2          cast(
      3                  MultiSet(
      4                          select column_name from all_tab_columns where table_name = 'KU$_DATAPUMP_MASTER_11_2' and owner = 'SYS'
      5                  )
      6                  as TStrings
      7          )                       as COLUMN_ARRAY
      8  from       dual
      9  /
    COLUMN_ARRAY
    TSTRINGS('REMOTE_LINK', 'VERSION', 'JOB_VERSION', 'DB_VERSION', 'TIMEZONE', 'STATE', 'PHASE', 'GUID', 'START_TIME', 'BLOCK_SIZE', 'METADATA_BUFFER_SIZE', 'DATA_BUFFER_SIZE', 'DEGREE', 'PLATFORM', 'ABO
    RT_STEP', 'INSTANCE', 'CLUSTER_OK', 'SERVICE_NAME', 'OBJECT_INT_OID', 'PROCESS_ORDER', 'DUPLICATE', 'DUMP_FILEID', 'DUMP_POSITION', 'DUMP_LENGTH', 'DUMP_ORIG_LENGTH', 'DUMP_ALLOCATION', 'COMPLETED_ROW
    S', 'ERROR_COUNT', 'ELAPSED_TIME', 'OBJECT_TYPE_PATH', 'OBJECT_PATH_SEQNO', 'OBJECT_TYPE', 'IN_PROGRESS', 'OBJECT_NAME', 'OBJECT_LONG_NAME', 'OBJECT_SCHEMA', 'ORIGINAL_OBJECT_SCHEMA', 'ORIGINAL_OBJECT
    _NAME', 'PARTITION_NAME', 'SUBPARTITION_NAME', 'DATAOBJ_NUM', 'FLAGS', 'PROPERTY', 'TRIGFLAG', 'CREATION_LEVEL', 'COMPLETION_TIME', 'OBJECT_TABLESPACE', 'SIZE_ESTIMATE', 'OBJECT_ROW', 'PROCESSING_STAT
    E', 'PROCESSING_STATUS', 'BASE_PROCESS_ORDER', 'BASE_OBJECT_TYPE', 'BASE_OBJECT_NAME', 'BASE_OBJECT_SCHEMA', 'ANCESTOR_PROCESS_ORDER', 'DOMAIN_PROCESS_ORDER', 'PARALLELIZATION', 'UNLOAD_METHOD', 'LOAD
    _METHOD', 'GRANULES', 'SCN', 'GRANTOR', 'XML_CLOB', 'PARENT_PROCESS_ORDER', 'NAME', 'VALUE_T', 'VALUE_N', 'IS_DEFAULT', 'FILE_TYPE', 'USER_DIRECTORY', 'USER_FILE_NAME', 'FILE_NAME', 'EXTEND_SIZE', 'FI
    LE_MAX_SIZE', 'PROCESS_NAME', 'LAST_UPDATE', 'WORK_ITEM', 'OBJECT_NUMBER', 'COMPLETED_BYTES', 'TOTAL_BYTES', 'METADATA_IO', 'DATA_IO', 'CUMULATIVE_TIME', 'PACKET_NUMBER', 'INSTANCE_ID', 'OLD_VALUE', '
    SEED', 'LAST_FILE', 'USER_NAME', 'OPERATION', 'JOB_MODE', 'QUEUE_TABNUM', 'CONTROL_QUEUE', 'STATUS_QUEUE')
    SQL> --// collecting the SQL projection as an array
    SQL> declare
      2          colArray        TStrings;
      3  begin
      4          select
      5                  column_name bulk collect into colArray
      6          from    all_tab_columns
      7          where   table_name = 'KU$_DATAPUMP_MASTER_11_2'
      8          and     owner = 'SYS';
      9 
    10          --// process array
    11  end;
    12  /
    PL/SQL procedure successfully completed.
    SQL>

  • Custom PL/SQL API that inserts the data into a custom interface table.

    We are developing a custom Web ADI integrator for importing suppliers into Oracle.
    The Web ADI interface is a custom PL/SQL API that inserts the data into a custom interface table. We have defined the content, uploader and an importer. The importer is again a custom PL/SQL API that will process the records inserted into the custom table and updates the STATUS column of the custom interface table. We want to show the status column back on the spreadsheet.
    Defined the 'Document Row' import rule and added the rows that would identify the unique record.
    Errored row import rule, we are using a SELECT * from custom_table where status<>'Success' and vendor_name=$param$.vendor_name
    The source of this parameter is import.vendor_name
    We have also defined an Error lookup.
    After the above setup is completed, we invoke the create document and click on Oracle->Upload.
    The records are getting imported, but the importer program is failing with An error has occurred while running an API import. The ERRORED_ROWS step 20003:ER_500141, parameter number 1 must contain the value BIND in attribute 1.'

    The same issue.
    Need help.
    Also checked bne.log, no additional information.
    <bne:document xmlns:bne="http://www.oracle.com/bne">
    <bne:message bne:type="DATA" bne:text="BNE_VALID_ROW_COUNT" bne:value="11" />
    <bne:message bne:type="DATA" bne:text="BNE_INVALID_ROW_COUNT" bne:value="0" />
    <bne:message bne:type="ERROR" bne:text="An error has occurred while running an API import"
    bne:cause="The ERRORED_ROWS step 20003:ER_500165, parameter number 1 must contain the value BIND in attribute 1."
    bne:action="" bne:source="BneAPIImporter" >
    <bne:context bne:collection="collection_1" />
    </bne:message><bne:message bne:type="STATUS"
    bne:text="No rows uploaded" bne:value="" >
    <bne:context bne:collection="collection_1" /></bne:message>
    <bne:message bne:type="STATUS" bne:text="0 rows were invalid" bne:value="" >
    <bne:context bne:collection="collection_1" /></bne:message></bne:document>

  • Split the IDOC into multiple IDOC if the IDOC has more than 500 records

    Hi All,
    I developed an outbound IDOC in which we are facing an issue.
    There is some limitation on the maximum idoc size it can handle.
    If number of records is more than 500, split the idoc into multiple iDoc's, e.g. if it would have 1300 records , the result would be 2 iDoc's with 500 records, and the last one would have 300 records
    How can i acheive this.
    Regards
    Jai

    Hi,
    1) first you need to know which message type/Idoc type you are triggering.
    2) Get the Corresponding processcode from Partner profiles(WE20/ WE41).
    3) Then the look for prper user-exit in the related processing FM.
    4) write logic to split the IDoc accordingly.
    if no proper user exit available then copy the standard processing FM and need to all ALE related configurations.
    Catch hold any ABAP expert in your team to do all these.
    Suresh

  • Easy Question: How to split concatenated string into multiple rows?

    Hi folks,
    this might be an easy question.
    How can I split a concatenated string into multiple rows using SQL query?
    INPUT:
    select 'AAA,BBB,CC,DDDD' as data from dualDelimiter = ','
    Expected output:
    data
    AAA
    BBB
    CCC
    DDDDI'm looking for something kind of "an opposite for 'sys_connect_by_path'" function.
    Thanks,
    Tomas

    Here is the SUBSTR/INSTR version of the solution:
    SQL> WITH test_data AS
      2  (
      3          SELECT ',' || 'AAA,BBB,CC,DDDD' || ',' AS DATA FROM DUAL
      4  )
      5  SELECT  SUBSTR
      6          (
      7                  DATA
      8          ,       INSTR
      9                  (
    10                          DATA
    11                  ,       ','
    12                  ,       1
    13                  ,       LEVEL
    14                  ) + 1
    15          ,       INSTR
    16                  (
    17                          DATA
    18                  ,       ','
    19                  ,       1
    20                  ,       LEVEL + 1
    21                  ) -
    22                  INSTR
    23                  (
    24                          DATA
    25                  ,       ','
    26                  ,       1
    27                  ,       LEVEL
    28                  ) - 1
    29          )       AS NEW_STRING
    30  FROM    test_data
    31  CONNECT BY LEVEL <= LENGTH(REGEXP_REPLACE(DATA,'[^,]','')) - 1
    32  /
    NEW_STRING
    AAA
    BBB
    CC
    DDDD

  • Problem splitting XML Data into multiple files

    I am sending an XML message through an enterprise message source in enterprise link design studio. While I do so, I am getting a heavy error. This error tells me that my path ist wrong, but I am sure this one is right. Actually everything worked fine till I added an attribute twice in my XML. Since this point enterprise link drives me crazy, I have checked on my XML, it is valid, I have checked on my path, which is also ok.
    Anyone some suggestions how to resolve the issue?
    The Error code looks the following:
    Unable to resolve path "/msg" in message field "host" XML.
    XML:
    <msg host="192.168.52.129:18342" app="[ZInvestigationProvider#null]" cat="PROCESS" id="org.sopware.services.exampleuri.impl.CepMessage.21" lvl="INFO" text="Investigation_POSSIBILITY BPEL_ID=330024 - ID=1002, RFID=RFID002, NAME=SSN Emmersberger, StartDate=10 CurrentDate=17, expectedShippingDate=13, currentZone=-1, deliveryTimeAgreement=true" tsp="2007-12-05T22:25:36.093Z" xmlns="http://schemas.sbb.org/management/Notification/1.0" />
    [Oracle BAM Enterprise Link error code:  0x75 -- 0x1, 0x75 -- 0x68]
    Error while processing the data for the step 'Oracle BAM Enterprise Message Receiver'
    [Oracle BAM Enterprise Link error code:  DC -- 0x1, DC -- 0x83]
    Error while processing the data for the step 'Oracle BAM Enterprise Message Receiver'
    [Oracle BAM Enterprise Link error code:  DC -- 0x1, DC -- 0x83]
    Unable to resolve path "/msg" in message field "host" XML.
    XML:
    <msg host="192.168.52.129:18342" app="[ZInvestigationProvider#null]" cat="PROCESS" id="org.sopware.services.exampleuri.impl.CepMessage.21" lvl="INFO" text="Investigation_POSSIBILITY BPEL_ID=330024 - ID=1002, RFID=RFID002, NAME=SSN Emmersberger, StartDate=10 CurrentDate=17, expectedShippingDate=13, currentZone=-1, deliveryTimeAgreement=true" tsp="2007-12-05T22:25:36.093Z" xmlns="http://schemas.sbb.org/management/Notification/1.0" />
    [Oracle BAM Enterprise Link error code:  0x75 -- 0x1, 0x75 -- 0x68]
    Error while processing the data for the step 'Oracle BAM Enterprise Message Receiver'
    [Oracle BAM Enterprise Link error code:  DC -- 0x1, DC -- 0x83]
    Update of Plan "NotificationPLAN" failed.
    [Oracle BAM Enterprise Link error code:  PlanMgr -- 0x1, PlanMgr -- 0xD5]
    Regards,
    Christoph

    Ok what I tried:
    - I restarted the BAM Server
    - I restarted the Design Studio
    - I restarted the oc4j through which I publish the messages through a topic
    Result:
    Unable to resolve path "/msg" in message field "Data" XML.
    XML:
    <msg host="192.168.52.129:18342" app="[ZInvestigationProvider#null]" cat="PROCESS" id="org.sopware.services.exampleuri.impl.CepMessage.21" lvl="INFO" text="Investigation_POSSIBILITY BPEL_ID=330024 - ID=1002, RFID=RFID002, NAME=SSN Emmersberger, StartDate=10 CurrentDate=17, expectedShippingDate=13, currentZone=-1, deliveryTimeAgreement=true" tsp="2007-12-05T22:25:36.093Z" xmlns="http://schemas.sbb.org/management/Notification/1.0" />
    [Oracle BAM Enterprise Link error code:  0x75 -- 0x1, 0x75 -- 0x68]
    Error while processing the data for the step 'Oracle BAM Enterprise Message Receiver'
    [Oracle BAM Enterprise Link error code:  DC -- 0x1, DC -- 0x83]
    Error while processing the data for the step 'Oracle BAM Enterprise Message Receiver'
    [Oracle BAM Enterprise Link error code:  DC -- 0x1, DC -- 0x83]
    Unable to resolve path "/msg" in message field "Data" XML.
    XML:
    <msg host="192.168.52.129:18342" app="[ZInvestigationProvider#null]" cat="PROCESS" id="org.sopware.services.exampleuri.impl.CepMessage.21" lvl="INFO" text="Investigation_POSSIBILITY BPEL_ID=330024 - ID=1002, RFID=RFID002, NAME=SSN Emmersberger, StartDate=10 CurrentDate=17, expectedShippingDate=13, currentZone=-1, deliveryTimeAgreement=true" tsp="2007-12-05T22:25:36.093Z" xmlns="http://schemas.sbb.org/management/Notification/1.0" />
    [Oracle BAM Enterprise Link error code:  0x75 -- 0x1, 0x75 -- 0x68]
    Error while processing the data for the step 'Oracle BAM Enterprise Message Receiver'
    [Oracle BAM Enterprise Link error code:  DC -- 0x1, DC -- 0x83]
    Update of Plan "NotificationPLAN" failed.
    [Oracle BAM Enterprise Link error code:  PlanMgr -- 0x1, PlanMgr -- 0xD5]

  • Loading a single row in the file into multiple row in the destination table

    Hi Everyone
    I have a tab seperated data file which has data like
    123 456 789 98 A|B|C|D|E|F...............
    i have mentioned '|' instead of TAB, as i was not able to type it.
    The following data has to be loaded into a table as follows
    COL1 COL2 COL3 COL4 COL5
    123 456 789 98 A
    123 456 789 98 B
    123 456 789 98 C
    123 456 789 98 D
    I am using direct load as the count of data exceeds 20 million

    Take a look at demo 5 here:
    http://www.morganslibrary.org/reference/sqlloader.html

  • Help needed with SQL to split huge data into two excel or text files.

    Hi,
    I have a table which has around 1850000 records. I want to split the data into two sets and import the data in .txt or execl file.
    How can i break upthe records using rownum or any thing
    select * from tablename where rownum<940000 fetched some records
    but
    when i gave select * from tablename where rownum>940000 it was not fetching records.
    Guideme

    when i gave select * from tablename where rownum>940000 it was not fetching records.try this
    select * from (select tablename.*, rownum rn from tablename) where rn >940000

  • Procedure to insert data in multiple rows

    Hi,
    I need a stored procedure which inserts data into multiple rows..
    Ex: I need to have 3 columns in Procedure, where col3 has limit in size let's say 500.
    If user insert about 1500 in col3, i has to insert first 500 in row1 and 501 - 1000 in row 2 and 1001 - 1500 in row 3.
    Can any one help in creating procedure for above scenario.
    Thanks in Advance...
    Sree

    create table #t (id int, id1 int)
    WITH [1-20]
    AS
    SELECT row_number() over (order by number) rn,number
            FROM master..spt_values
             WHERE type = 'P'
             AND number BETWEEN 1 AND 20
     [21-30]
    AS
    SELECT row_number() over (order by number) rn,number
            FROM master..spt_values
             WHERE type = 'P'
             AND number BETWEEN 21 AND 30
    ) INSERT INTO #t 
      SELECT A.number,B.number FROM
         [1-20] A JOIN [21-30] B ON A.rn=B.rn
    SELECT * FROM #t
    Best Regards,Uri Dimant SQL Server MVP,
    http://sqlblog.com/blogs/uri_dimant/
    MS SQL optimization: MS SQL Development and Optimization
    MS SQL Consulting:
    Large scale of database and data cleansing
    Remote DBA Services:
    Improves MS SQL Database Performance
    SQL Server Integration Services:
    Business Intelligence

  • How to Split the Date Column in OBIEE

    Hi,
    We have date column name :To_Date and format is MM/DD/YY HH:MM:SS .
    How do split the date into YEARS,MONTH,DAY as new columns.
    kindly help on this.
    Regards.,
    CHR
    Edited by: 867932 on Nov 23, 2011 10:18 PM

    Hi User,
    All 3 functions can be written in rpd too.In BMM layer, duplicate the date column ->Goto Column Mapping tab-> Expression builder ->Select Functions-> Calendar Date/Time Functions-> Select DayofMOnth function. Your logical column's formula will look like,
    DayofMonth(YourDateColumn)
    Rgds,
    Dpka

  • FM for splitting the date

    Hi Everyone,
    I need an FM to split the Date into days , month and year...
    can anyone help me out.
    Points will be rewarded.
    Regards,
    Syed

    Hi Syed,
    When we can do something with the code you can write the code. Since the sy-datum is anyhow stored in YYYYMMDD format you can split it by writing a small piece of code like this :
    data :
      w_day type i,
      w_month type i,
      w_year type i.
    w_day = sy-datum+6(2).
    w_month = sy-datum+4(2).
    w_year = sy-datum(4).
    write :/ 'Day    :  ', w_day,
           /  'Month :  ', w_month,
           /  'Year    :  ', w_year.
    Regards,
    Swapna.
    Edited by: NagaSwapna Thota on Jul 8, 2008 11:07 AM

  • How to get the data from multiple tabes into single table

    hi all,
    here i am having 10 data base tables,how to get the data into a single table.
    regards,
    subba reddy

    hi,
    non XI/PI related
    Regards,
    Michal Krawczyk

  • How to spool data into multiple Excel sheet if result is more then 65k rows

    Hi all,
    Wann spool data into multiple excel sheet bocz my resultant no of rows are more then 65k.
    Thanks to all in advance.....

    many choices
    1) migrate to a newer version of Excel
    2) split the files after spooling
    for instance with split
    split -l65000 file.txtor with perl, java, vb or what-so-ever
    3) do more than one report by using rownum
    spool f1
    select empno,ename  from (select rownum r,empno,ename from emp order by empno) where r<6 ;
    spool off
    spool f2
    select empno,ename  from (select * from (select rownum r,empno,ename from emp order by empno) where r<11) where r>5 ;
    spool off
    spool f3
    select empno,ename  from (select rownum r,empno,ename from emp order by empno) where r>10 ;
    spool off

  • Split single row into multiple rows containing time periods

    Hi,
    I have a table with rows like this:
    id, intime, outtime
    1, 2010-01-01 00:10, 2010-01-3 20:00
    I would like to split this row into multiple rows, 1 for each 24hr period in the record.
    i.e. The above should translate into:
    id, starttime, endtime, period
    1, 2010-01-01 00:10, 2010-01-02 00:10, 1
    1, 2010-01-02 00:10, 2010-01-03 00:10, 2
    1, 2010-01-03 00:10, 2010-01-03 20:00, 3
    The first starttime should be the intime and the last endtime should be the outtime.
    Is there a way to do this without hard-coding the 24hr periods?
    Thanks,
    Dan Scott
    http://danieljamesscott.org

    Thanks for all the feedback, Dan.
    It appears that the respective solutions provided will give you: a) different resultsets and b) different performance.
    Regarding your 'truly desired resultset' you haven't answered all questions from my previous post (there are differences in the provided examples), but anyway:
    I found that using CEIL or ROUND makes quite a difference, using my 'simple 3 record testset' (30 records vs. 66 records got initially returned, that's less than half of the original). That's quite a difference. However, I must call it a day (since it's almost midnight) for now, so there's room for more optimizement and I haven't thoroughly tested.
    But this might hopefully make a difference performancewise when compared to my previous 'dreaded example':
    SQL> drop table t;
    Table dropped.
    SQL> create table  t as
      2  select 1 id, to_date('2010-01-01 00:10', 'yyyy-mm-dd hh24:mi') intime, to_date('2010-01-03 20:00', 'yyyy-mm-dd hh24:mi') outtime from dual union all
      3  select 2 id, to_date('2010-02-01 00:10', 'yyyy-mm-dd hh24:mi') intime, to_date('2010-02-05 20:00', 'yyyy-mm-dd hh24:mi') outtime from dual union all
      4  select 3 id, to_date('2010-03-01 00:10', 'yyyy-mm-dd hh24:mi') intime, to_date('2010-03-03 00:10', 'yyyy-mm-dd hh24:mi') outtime from dual;
    Table created.
    SQL> select id
      2  ,      max(intime)+level-1 starttime
      3  ,      case
      4           when level = to_char(max(t.outtime), 'dd')
      5           then max(t.outtime)
      6           else max(t.intime)+level
      7         end outtime
      8  ,      level period      
      9  from   t
    10  connect by level <= round(outtime-intime)
    11  group by id, level
    12  order by 1,2;
            ID STARTTIME           OUTTIME                 PERIOD
             1 01-01-2010 00:10:00 02-01-2010 00:10:00          1
             1 02-01-2010 00:10:00 03-01-2010 00:10:00          2
             1 03-01-2010 00:10:00 03-01-2010 20:00:00          3
             2 01-02-2010 00:10:00 02-02-2010 00:10:00          1
             2 02-02-2010 00:10:00 03-02-2010 00:10:00          2
             2 03-02-2010 00:10:00 04-02-2010 00:10:00          3
             2 04-02-2010 00:10:00 05-02-2010 00:10:00          4
             2 05-02-2010 00:10:00 05-02-2010 20:00:00          5
             3 01-03-2010 00:10:00 02-03-2010 00:10:00          1
             3 02-03-2010 00:10:00 03-03-2010 00:10:00          2
    10 rows selected.
    SQL> By the way: I'm assuming you're on 10g, is that correct?
    Can you give us some information regarding the indexes present on your table?

Maybe you are looking for

  • Forward and Back Buttons Don't Work

    Greetings, My forward and back buttons on the mouse don't work in PSE 7. Instead I always have to click the forward or back buttons on the toolbar, or use keyboard shortcuts (alt+left arrow or alt+right arrow). Does anyone else have the same problem?

  • Very large string to internal text table

    Hi, I have a string that contains all the information read from a flat file and I want to put all that information in an internal table where each row is just 1024 char in order to contain a row of the original flat file. In the string I can recogniz

  • Converting Word TOC

    I am importing a word file with its TOC in RH 7. The file and the TOC are correctly imported. In the TOC (in the compiled project), when I click on a book (where no topic should be linked), the previous topic in the TOC opens. RH automatically links

  • Fatal Error 1603 Sony Vaio Vista Home Premium

    I downloaded the trial version of Dreamweaver CS4, but can't install it. I keep getting Error Message 1603. I am running Windows Vista Home Premium. And the only other adobe applications i have on my computer are Adobe Reader and Adobe Acrobat 9.0. I

  • Sroll add in table component

    how to add scroll bar in table component ???