Analysis 1 row into two lines from a CSV file

Hello

Im trying to read a csv of the external table data in a table target.

the problem is, I have a few lines, two names and names separated by spaces zwo (aspect ID2 and ID4)

the csv data have this format:

Source CSV file

ID1 | "" Max Miller ' | "Lyonerstr 99" | " "1000" | " "" Berlin "| "' The Germany.

ID2. «Hans Meyer Heidi Meyer «|» "Lyonerstr 100" | " "1000" | " "" Berlin "| "' The Germany.

ID3 | "" Stefan Tek | "Lyonerstr 200" | " "1000" | " "" Berlin "| "' The Germany.

ID4. ' José María Acero Acero ' |. ' "" Abcstr 111 | "2000" | " "" Hamburg ". "' The Germany.

Target table

ID1 | Max Miller | 99 Lyonerstr | 1000 | Berlin | Germany

ID2. Hans Meyer | Lyonerstr 100 | 1000 | Berlin | Germany

ID2. Heidi Meyer | Lyonerstr 100 | 1000 | Berlin | Germany

ID3 | Stefan Tek | Lyonerstr 200 | 1000 | Berlin | Germany

ID4. José Acero | Abcstr 111 | 2000. Hamburg | Germany

ID4. Maria Acero | Abcstr 111 | 2000 "|" Hamburg | Germany

Thank you very much.

with

external_table as

(select 'ID1' u_id, f_l_name 'Max Miller', ' Lyonerstr 'address, zip ' 1000' 99, "Berlin" city, country "Germany" in double union ")

Select 'ID2', 'Hans Meyer Heidi Meyer', ' Lyonerstr 100 ', ' 1000', 'Berlin', 'Germany' of the dual union all.

Select 'ID3', "Stefan Tek", "Lyonerstr 200 ', ' 1000', 'Berlin', 'Germany' of the dual union all.

Select "ID4", 'José Acero Acero Maria', ' Abcstr 111 ', ' 2000', 'Hamburg', 'Germany' from dual.

)

Select u_id, f_l_name, address, zip, city, country

from (select u_id,

-case when instr (f_l_name,' ') > 0

so to case when level = 1

then substr (f_l_name, 1, instr (f_l_name,' ')-1)

of another substr (f_l_name, instr (f_l_name,' ') + 2)

end

another case when level = 1

then f_l_name

end

end f_l_name

address, zip, city, country

of external_table

connect by level<=>

and prior u_id = u_id

and the previous address = address

zip and rar = prior

and prior city = city

and prior country = country

and prior sys_guid() is not null

)

where f_l_name is not null

U_ID F_L_NAME ADDRESS ZIP CITY COUNTRY
ID1 Max Miller 99 Lyonerstr 1000 Berlin Germany
ID2 Hans Meyer Lyonerstr 100 1000 Berlin Germany
ID2 Heidi Meyer Lyonerstr 100 1000 Berlin Germany
ID3 Stefan Tek Lyonerstr 200 1000 Berlin Germany
ID4 José Acero Abcstr 111 2000 Hamburg Germany
ID4 Maria Acero Abcstr 111 2000 Hamburg Germany

Concerning

Etbin

Tags: Database

Similar Questions

  • Unable to display data from a csv file data store

    Hi all

    I'm using ODI 11 g. I'm trying to import metadata from a csv file. To do this, I have created physical and logical diagrams corresponding. Context is global.

    Then, I created a model and a data store. Now, after reverse engineering data store, I got the file headers and I changed the data type of columns to my requirement and then tried to view the data in the data store. I am not getting any error, but can't see all the data. I am able to see only the headers.

    Even when I run the interface that loads data into a table, its operation without error, but no data entered...

    But the data is present in the source file...

    Can you please help me how to solve this problem...

    Hi Phanikanth,

    Thanks for your reply...

    I did the same thing that you suggested...

    In fact, I'm working on the ODI in UNIX environment. So I went for the record separator on UNIX option in the files of the data store tab and now its works well...

    in any case, once again thank you for your response...

    Thank you best regards &,.

    Vanina

  • Update of field Notes from a csv file

    Hello

    I want to update the Notes field for all of the virtual machines in my environment from a .csv file.  To do this, I did and the export of my environment in a file .csv using this command:

    Get - VM | Select Name, Notes | Export-Csv-path "c:\output\notes.csv" - NoTypeInformation

    I now have a list of all virtual machines and their existing Notes.  I manually changed the notes fields keeping the existing descriptions and adding, for all the virtual machines that had no notes.  I would now like to merge the changes into vCenter and to crush any descriptions in vCenter but my code is any error on:

    Import-Csv "c:\output\notes.csv" | % {Set - VM $_.} VMName-note $_. {Note - confirm: $false}

    Any ideas?

    Untitled.jpg

    Well, the field of your CSV is 'Name', not "VMName".

    So, try:

    Import-Csv "c:\output\notes.csv" | % {Get - VM $_.} Name | Set-VM-note $_. {Note - confirm: $false}

  • Configure vswitches from a .csv file - problem

    I have a script that works very well for the installation of my virtual past by using the updatevirtualswitch method. (Thanks to LucD, see here: ) http://communities.VMware.com/message/1556669#1556669 )

    I now want to go further and to feed my script with variables from a .csv file.

    It works fine for all, with the exception of the definition of vmnic. Description of the problem:

    Excerpt from my .csv file:

    lannics; dmznic1; dmznic2; dmznic3; storagenics; vmotionnics;

    @("vmnic0"); @("vmnic1", "vmnic2");

    Then import the settings from the csv file, example:

    $lannics = $parameterfile.dmznic1

    Now, if I check what's in $dmznic1, I have the good: @("vmnic1", "vmnic2")

    But it seems to be a string, not a true table. Therefore, I can not pass it to my updatevirtualswitch function:

    function standardvswitch {}

    Param ($esx, $vs, [string []] $dmznic1)

    ....

    $ns. UpdateVirtualSwitch ($vs, $vsSpec)

    }

    So the question is: how could I get my .csv file information, so that it can be used for a definition of vmnic compatible with the UpdateVirtualSwitch method?

    Thanks for your help or ideas!

    I've done a few tests more and saw that my previous solution does not work. "But one that follows). I'll try to explain how it works. In the .csv file, a semicolon is used as a field separator. This means that you can use a comma in a field to separate the members of the group. The Import-CSV cmdlet reads the .csv file and - separator "," parameter instructs the cmdlet that a semicolon is the field delimiter. The output of the Import-CSV cmdlet is piped in a ForEach-Object cmdlet. In the scriptblock ForEach-Object according to the value of the dmznic1 property string is shared by the comma, so each string before, between and after the comma will become a member of separate table. This table is assigned to the dmznic1 property. Loop loop through all the members of the Group and displays them on separate lines. So you can see that it is really a picture.

    Import-CSV -Path LanNics.CSV -Delimiter ";" | `
    ForEach-Object {
      $_.dmznic1 = ($_.dmznic1).split(",")
      for ($i=0;$i -lt $_.dmznic1.length; $i++) {
        Write-Output $_.dmznic1[$i]
      }
    }
    

    See the attached screenshot for output.

    I think that this solution is more beautiful that create a different column for each vmnic because in my solution you don't have to know in advance how many cards you have.

    Post edited by: RvdNieuwendijk

  • Report of rows in two lines

    Dear members,

    Is it possible to create a report of the region showing the two lines (I have very long to see... fileds)

    Thanks in advance.

    Best regards
    Johann

    Hello

    Ok. The report is based on the following SQL query:

    SELECT
      EMPNO,
      ENAME,
      JOB,
      SAL,
      COMM,
      MGR,
      HIREDATE
    FROM EMP
    

    Note that there are 7 columns.

    Now, go to components shared, models and click on create. Select the Type of model 'Report' from scratch, enter a name for the new template, select "Custom 1" as the class and select "Named column (model line)" as the Type (is important), then click on create. " After loading the list of templates, select your model.

    You will get some complete default settings. Remove these and replace them with the following text:

    Model line 1:

    <tr><td>#1#</td><td>#2#</td><td colspan=3>#3#</td></tr>
    <tr><td> </td><td>#4#</td><td>#5#</td><td>#6#</td><td>#7#</td></tr>
    

    Before the lines:

    <table>
    <tr><td><b>EMPNO</b></td><td><b>ENAME</b></td><td colspan=3><b>JOB</b></td></tr>
    <tr><td> </td><td><b>SAL</b></td><td><b>COMM</b></td><td><b>MGR</b></td><td><b>HIREDATE</b></td></tr>
    

    After the lines:

    </table>
    

    Lines first generated before parameters: these are the titles. Note that we specify field names because it is no longer available to us.

    Then comes the setting of model line 1 - once for each line. Note that I used #1 #-#7 #. These correspond to each of the 7 columns in the SQL query.

    Finally, comes the setting after lines - this deadline just things off.

    The style only I added is the B tags in the title. You can use the class = "txxxxxx" of your theme. Also note that I did nothing with the pagination settings - if you need them, they can be copied directly from another model of report as in the same way, they will be awarded.

    Since you have the parameters of stop/stop the report and that, among those, you can use #1 # etc. to represent your data, you should see that you can build just about ANY format you need, use one styles you like AND you are not limited to the use of the table/tr/td tags - as long as you build the html correctly , any tag would (for example lists UL/LI or drop-down lists SELECT / OPTION).

    Andy

  • Extension of merger and mailing 4.1.0 says «no recipients specified...» "has {{Email}} in the line using a CSV file

    Attempt to send email from MASS of Thunderbird. I have the address of a CSV file in a column named Email. I {{Email}} in the TO: field of the email - and go through file-Mail Merge and have the CSV file in the dialog box. When I click on OK - I get the message 'no recipients were determined... ". »

    Wile, we do not support the add-on here.
    As a convenience.
    Most of the problems of this nature with the add-on will focus on how the email header is defined in the CSV file. Make sure it is defined as the domain name, you think it is and that it is surrounded by double quotes. Also make sure that none of your "data" contains quotes like send the CSV into a spin, introducing this amount on a Cape randomly in the middle of data.

    Failure to comply with this e-mail from the author of the add-on. His email address is on the page of download add-on.

  • Helps to replace a string in a txt file with a string from a csv file

    Hi all

    I worked on the script following since a few days now, determined to exhaust my own knowledge before asking for help... Unfortunately, it didn't take very long to exhaust my knowledge :-(

    Basically, I need to replace a value in a single file (raw.txt) with the value of another file (userids.csv) when a variable is. Then I released the results of a third file.

    To do this, I divided the "raw" file into variables using the ',' as the separator, the problem is that some variables are intentionally empty, where the fi $variable = "statements.

    It is currently what I want to do but only when the userids.csv file contains a single line. It is obviously because of the foreach ($user in import)... What I need to figure out is how to loop through the file raw.txt, text replacement when a variable in the user ID file is the text in raw.txt... I hope that makes sense?

    The user ID file is in the following format - user, service, Dept that can contain dozens of lines

    I would appreciate any pointers :-)

    See you soon

    # Treatment
    $importraw = get-content i:\raw.txt
    $import = import-csv i:\userids.csv-en-tete UserAccount, functional, Dept

    {foreach ($user in $import)
    $useraccount = $user. UserAccount
    $userfunction = $user. Functional
    $userdept = $user. Dept
    {foreach ($line in $importraw)
    $first, $second, $third, $fourth, $fifth, $sixth, $seventh, $eighth, $ninth = $line - split(",")
    $linesproc = $linesproc + 1
    If ($sixth - eq ") {}
    $temp6 = "6TEMP".
    Write-Host "field Null detected - assigning temporary value:"$temp6 ".
    $sixth = $temp6 # the assignment of a temporary value so that - statement to replace later works
    }
    If ($seventh - eq ") {}
    $temp7 = "7TEMP".
    Write-Host "field Null detected - assigning temporary value:"$temp7 ".
    $seventh = $temp7 # the assignment of a temporary value so that - statement to replace later works
    }
    If ($fifth - eq $user.) UserAccount) {}
    $line - $seventh, replace $user. Dept | Add content i:\Output.txt
    }
    else {}
    $line - $seventh, replace "/ / customer. Add content i:\Output.txt
    }
    }

    }

    Try the attached version.

    The problem, in my opinion, was in nested ForEach loops.

    Instead I've implemented with a lookup table

  • Script to remove commas from a csv file

    Hi all

    I have the following output to a csv file:

    VM, VI-SVC-VM014, 0000ed, 0000ee,
    VM, VI-SVC-VM103, 0000f3, 0000f2,
    VM, VI-SVC-VM104, 0000f6, 0000f6,
    LDEV, SVC PROD Cluster01, 0000e2, 0x04
    LDEV, SVC PROD Cluster01, 0000de, 0x00
    LDEV, SVC PROD Cluster01, 0000df, 0x01
    LDEV, SVC PROD Cluster01, 0000e2, 0x04

    I'm looking to remove commas end so that the output looks like this:

    VM, VI-SVC-VM014, 0000ed, 0000ee
    VM, VI-SVC-VM103, 0000f3, 0000f2
    VM, VI-SVC-VM104, 0000f6, 0000f6
    LDEV, SVC PROD Cluster01, 0000e2, 0x04
    LDEV, SVC PROD Cluster01, 0000de, 0x00
    LDEV, SVC PROD Cluster01, 0000df, 0x01
    LDEV, SVC PROD Cluster01, 0000e2, 0x04

    The column length for each line (given the number of objects), modular in this output. By this, I mean that some outputs will be like this:

    VM, VI-SVC-VM014, 0000ed, 0000ee, 0000ef
    VM, VI-SVC-VM104, 0000f6, 0000f6

    VI-SVC-VM104, 0000f6, 0000f5, 0000f7, VM, 0000f4
    LDEV, SVC PROD Cluster01, 0000e2, 0x04
    LDEV, SVC PROD Cluster01, 0000de, 0x00

    Is it possible to import the data (get-content), delete all non alpha-numeric end of line? Maybe there is an easier way.

    Thank you

    Rob.

    Try something like

    Get-Content file.csv | %{
      $_.TrimEnd(',')
    } | Set-Content newfile.csv
    
  • Combine multiple lines into one line (from two tables / result sets)

    Hello experts,

    I would like to know how to combine multiple lines/records in a single record. Here are the DDL and DML to tables:

    create table test_table)

    client_name varchar2 (50 char),

    login_time timestamp (6).

    logout_time timestamp (6).

    auto_type varchar2 (10 char)

    )

    create table root_table)

    navigation_time timestamp (6).

    client_name varchar2 (50 char),

    VARCHAR2 (50 char) nom_du_groupe

    )

    Insert into test_table

    values ("John", TO_TIMESTAMP ('2013-12-05 17:04:01.512 ',' YYYY-MM-DD HH24:MI:SS.)) FF'), TO_TIMESTAMP ('2013-12-05 17:27:31.308 ',' YYYY-MM-DD HH24:MI:SS.) FF'), 'SIMPLE');

    Insert into test_table

    values ('David', TO_TIMESTAMP ('2013-12-05 06:33:01.308 ',' YYYY-MM-DD HH24:MI:SS.)) FF'), TO_TIMESTAMP ('2013-12-05 06:45:01.112 ',' YYYY-MM-DD HH24:MI:SS.) FF'), 'SIMPLE');

    insert into root_table

    values (TO_TIMESTAMP ('2013-12-05 17:04:01.512 ',' YYYY-MM-DD HH24:MI:SS.)) FF'), 'John', "invalid");

    insert into root_table

    values (TO_TIMESTAMP ('2013-12-05 17:14:22.333 ',' YYYY-MM-DD HH24:MI:SS.)) FF'), 'John', "GROUP_1");

    insert into root_table

    values (TO_TIMESTAMP ('2013-12-05 17:27:31.308 ',' YYYY-MM-DD HH24:MI:SS.)) FF'), 'John', "GROUP_1");

    insert into root_table

    values (TO_TIMESTAMP ('2013-12-05 06:33:01.308 ',' YYYY-MM-DD HH24:MI:SS.)) FF'), "David", "invalid");

    insert into root_table

    values (TO_TIMESTAMP ('2013-12-05 06:45:01.112 ',' YYYY-MM-DD HH24:MI:SS.)) FF'), 'David', 'GROUP_5');

    game results test_table

    client_name

    login_time logout_time auto_typeJohn05/12/2013 5:04:01.512000 PM05/12/2013 5:27:31.308000 PMSIMPLEDavid05/12/2013 6:33:01.308000 AM05/12/2013 6:45:01.112000 AMSIMPLE

    root_table result set

    navigation_time client_name GroupName
    05/12/2013 5:04:01.512000 PMJohnNot valid
    05/12/2013 5:14:22.333000 PMJohnGROUP_1
    05/12/2013 5:27:31.308000 PMJohnGROUP_1
    05/12/2013 6:33:01.308000 AMDavidNot valid
    05/12/2013 6:45:01.112000 AMDavidGROUP_5

    And here is the SQL code I'm writing:

    Select a.customer_name, a.login_time, a.logout_time, a.auto_type, Max (b.group_name)

    from test_table a, b root_table

    where a.customer_name = b.customer_name

    Group of a.customer_name, a.login_time, a.logout_time, a.auto_type

    As the 'invalid' value is greater than the value "GROUP_1" (based on the number of letter in English), the GroupName is returned as 'invalid '. I want to bring the GroupName based on the navigation_time column in the root_table so that it always returns a valid GroupName. Please help me.

    Output current:

    Client_name.      Login_Time.     Logout_Time |     Auto_Type |     GroupName

    --------------------------------------------------------------------------------------------------------------------------------------------

    John |     05/12/2013 5:04:01.512000 PM |     05/12/2013 5:27:31.308000 PM |     SIMPLE |     Not valid

    David |     05/12/2013 6:33:01.308000 AM |     05/12/2013 6:45:01.112000 AM |     SIMPLE |     Not valid

    Expected results:

    Client_name.      Login_Time.     Logout_Time |     Auto_Type |     GroupName

    --------------------------------------------------------------------------------------------------------------------------------------------

    John |     05/12/2013 5:04:01.512000 PM |     05/12/2013 5:27:31.308000 PM |     SIMPLE |     GROUP_1

    David |     05/12/2013 6:33:01.308000 AM |     05/12/2013 6:45:01.112000 AM |     SIMPLE |     GROUP_5

    Thank you!

    Adding INSERT statements, current and planned outputs.

    This...

    SELECT client_name

    login_time,

    logout_time,

    auto_type,

    GroupName

    Of

    (select a.customer_name,

    a.login_time,

    a.logout_time,

    a.auto_type,

    b.group_name,

    ROW_NUMBER() over (PARTITION BY a.customer_name, a.login_time, a.logout_time, a.auto_type ORDER BY b.group_name) rn

    from test_table a, b root_table

    where a.customer_name = b.customer_name)

    WHERE rn = 1;

    OUTPUT:-

    =========

    David DECEMBER 5, 13 06.33.01.308000000 AM DECEMBER 5, 13 06.45.01.112000000 AM SIMPLE GROUP_5
    John DECEMBER 5, 13 05.04.01.512000000 PM DECEMBER 5, 13 05.27.31.308000000 PM SIMPLE GROUP_1

    Thank you

    Ann

  • Why the bar tasks there into two lines

    Suddenly, my taskbar are appeared in two rows. The bottom row includes icons for my Docujments, my computer and Recycler Bin.Why does this happen and how do I get this back to a line?

    The taskbar is resizable, like a window. Place the cursor on the edge and stir slightly to make it turn into a two-headed arrow.

    Click on, and then drag it to the desired size.

    If it does not resize, it can be locked. In this case, do a right click on it and uncheck "Lock the taskbar", then try again.

    Also note that if you have toolbars in the taskbar on multiple lines, you will not be able to reduce the size of task bar less than the number of lines. First, put all the toolbars on one line.

    UTC/GMT is 16:24 on Thursday, January 26, 2012

  • How to insert a row into the table from an entity class

    I use JDeveloper 11.1.2.3.0 using ADF.  I would like to insert a row in Table B, when A table is inserted into the database based on a value selected by the end user.  I could do in a database trigger, but I would try in the ADF. I think that the best place to do it would be in the entity based on the table A class. I could override the doDML method and search for DML_INSERT

    and make the table insert B here, but I don't know the best way to achieve this.  I guess I want to avoid using a SQL "insert". I'm new to ADF and it can be difficult to get

    a question using the appropriate terminology. I hope this makes sense.

    Hello

    Check out this blog: http://andrejusb.blogspot.com/2008/02/complex-insert-in-easy-way.html

    Arun-

  • Links of images imported from a CSV file into a SQL table using phpMyAdmin

    I have .csv with five areas, the first is images.

    images150/9310VSony02.jpg.

    This imported into a sql database using phpMyAdmin (first time user) table called rsIMAGESTEST.

    Using Dreamweaver is applying insert for php objects/dynamic Table/Recordset XXX pages

    The table is at - he saw in explores the image url is displayed rather than the jpeg format. image.

    The rest of the data in other areas is fine stright txt. Please can someone explain what I am doing wrong.

    Flowing is the sql I can to get what we need to change?

    @mysql_select_db ($database_pauls, $pauls);

    $query_Recordset3 = SELECT * FROM rsIMAGESTEST;

    $Recordset3 = mysql_query ($query_Recordset3, $pauls) or die (mysql_error ());

    $row_Recordset3 = mysql_fetch_assoc ($Recordset3);

    $totalRows_Recordset3 = mysql_num_rows ($Recordset3);

    To view the image, you must pass the value of the recordset to the src attribute of the tag. Assuming that the domain name is 'image ':

    
    

    You can also use Insert a picture. In the dialog box select the Source Image, the value of "Select file name of" to "Data Sources." You can then select the domain name correct of your recordset.

  • How can I extract the data from a csv file and insert it into an Oracle table? (UTL_FILE)

    Hi, please help me whit this query

    Im trying to extrate the data in a file csv and im using the ULT_FILE package
    I have this query that read the file and the first field, but if the field has a different length does not work as it should

    For example if I had this .csv file:

    1, book, laptop

    2, pen, Eraser

    3, notebook, paper

    And in the table, I had to insert like this

    ID descrption1 description2

    laptop 1 book

    Eraser pen 2

    paper laptop 3

    For now, I have this query, which displays only with DBMS:

    Declare

    -Variables

    Cadena VARCHAR2 (32767).

    Vfile UTL_FILE. TYPE_DE_FICHIER;

    Dato varchar2 (200);                                             -Date

    dato1 varchar2 (200);

    dato2 varchar2 (200);

    Identifier varchar2 (5): = ', ';                             -Identifier (en)

    v_ManejadorFichero UTL_FILE. TYPE_DE_FICHIER;     -For exceptions

    -Table variables

    I_STATUS GL_INTERFACE. % OF STATUS TYPE.

    I_LEDGER_ID GL_INTERFACE. TYPE % LEDGER_ID;

    I_USER_JE_SOURCE_NAME GL_INTERFACE. TYPE % USER_JE_SOURCE_NAME;

    I_ACCOUNTING_DATE GL_INTERFACE. TYPE % ACCOUNTING_DATE;

    I_PERIOD_NAME GL_INTERFACE. TYPE % PERIOD_NAME;

    I_CURRENCY_CODE GL_INTERFACE. CURRENCY_CODE % TYPE;

    I_DATE_CREATED GL_INTERFACE. DATE_CREATED % TYPE;

    I_CREATED_BY GL_INTERFACE. CREATED_BY % TYPE;

    I_ACTUAL_FLAG GL_INTERFACE. TYPE % ACTUAL_FLAG;

    I_CODE_COMBINATION_ID GL_INTERFACE. TYPE % CODE_COMBINATION_ID;

    I_ENTERED_DR GL_INTERFACE. TYPE % ENTERED_DR;

    I_ENTERED_CR GL_INTERFACE. TYPE % ENTERED_CR;

    I_ACCOUNTED_DR GL_INTERFACE. TYPE % ACCOUNTED_DR;

    I_ACCOUNTED_CR GL_INTERFACE. TYPE % ACCOUNTED_CR;

    I_TRANSACTION_DATE GL_INTERFACE. TRANSACTION_DATE % TYPE;

    I_REFERENCE1 GL_INTERFACE. REFERENCE1% TYPE;

    I_REFERENCE2 GL_INTERFACE. REFERENCE2% TYPE;

    I_REFERENCE3 GL_INTERFACE. REFERENCE3% TYPE;

    I_REFERENCE4 GL_INTERFACE. REFERENCE4% TYPE;

    I_REFERENCE5 GL_INTERFACE. REFERENCE5% TYPE;

    I_REFERENCE10 GL_INTERFACE. REFERENCE10% TYPE;

    I_GROUP_ID GL_INTERFACE. GROUP_ID % TYPE;

    BEGIN

    Vfile: = UTL_FILE. FOPEN ('CAPEX_ENVIO', 'comas.csv', 'R');

    loop

    UTL_FILE. GET_LINE(Vfile,Cadena,32767);

    dato1: = substr (cadena, instr(cadena, identificador,1,1)-1, instr(cadena, identificador,1,1)-1);

    dato2: = substr (cadena, instr (cadena, identifier, 1, 1) + 1, instr(cadena, identificador,3,1)-3);

    dbms_output.put_line (dato1);

    dbms_output.put_line (dato2);

    -The evidence

    -dbms_output.put_line (cadena);

    -dbms_output.put_line (substr (dato, 3, instr(dato, identificador,1,1)-1));

    -dbms_output.put_line (substr (dato, instr (dato, identifier, 1, 2) + 1, instr(dato, identificador,1,1)-1));

    -dbms_output.put_line (substr (cadena, 1, length (cadena)-1));

    end loop;

    UTL_FILE. FCLOSE (Vfile);

    -----------------------------------------------------------------------------------EXCEPTIONS------------------------------------------------------------------------------------------------------------------------------------------------------------

    EXCEPTION

    When no_data_found then

    dbms_output.put_line ('Todo Correcto');

    When utl_file.invalid_path then

    UTL_FILE. FCLOSE (V_ManejadorFichero);

    RAISE_APPLICATION_ERROR (-20060,'RUTA DEL ARCHIVO NULLIFIED: (');)

    WHEN UTL_FILE. INVALID_OPERATION THEN

    UTL_FILE. FCLOSE (V_ManejadorFichero);

    RAISE_APPLICATION_ERROR ('-20061,'EL ARCHIVO NO PUDO SER ABIERTO ");

    WHEN UTL_FILE. INVALID_FILEHANDLE THEN

    UTL_FILE. FCLOSE (V_ManejadorFichero);

    RAISE_APPLICATION_ERROR (-20062, 'INVALIDO MANAGER');

    WHEN UTL_FILE. WRITE_ERROR THEN

    UTL_FILE. FCLOSE (V_ManejadorFichero);

    RAISE_APPLICATION_ERROR (-20063, 'ESCRITURA ERROR');

    WHEN UTL_FILE. INVALID_MODE THEN

    UTL_FILE. FCLOSE (V_ManejadorFichero);

    RAISE_APPLICATION_ERROR (-20064, 'MODO INVALIDO');

    WHEN UTL_FILE. INTERNAL_ERROR THEN

    UTL_FILE. FCLOSE (V_ManejadorFichero);

    RAISE_APPLICATION_ERROR (-20065, 'ERROR INTERNO');

    WHEN UTL_FILE. READ_ERROR THEN

    UTL_FILE. FCLOSE (V_ManejadorFichero);

    RAISE_APPLICATION_ERROR (-20066, 'LECTURA ERORR');

    WHEN UTL_FILE. FILE_OPEN THEN

    UTL_FILE. FCLOSE (V_ManejadorFichero);

    RAISE_APPLICATION_ERROR ('-20067,'EL ARCHIVO ARE ESTA ABIERTO ");

    WHEN UTL_FILE. THEN ACCESS_DENIED

    UTL_FILE. FCLOSE (V_ManejadorFichero);

    RAISE_APPLICATION_ERROR (-20068, 'REFUSED ACCESS');

    WHEN UTL_FILE. DELETE_FAILED THEN

    UTL_FILE. FCLOSE (V_ManejadorFichero);

    RAISE_APPLICATION_ERROR (-20069, 'OPERACIÓN BORRADO FALLO');

    WHEN UTL_FILE. RENAME_FAILED THEN

    UTL_FILE. FCLOSE (V_ManejadorFichero);

    RAISE_APPLICATION_ERROR (-20070, 'OPERATION SOBREESCRITURA FALLO');

    END;

    Hello

    Try something like this:

    POS1: = INSTR (cadena, idntificador, 1, 1);
    POS2: = INSTR (cadena, idntificador, 1, 2);

    ID: = SUBSTR (cadena, 1, pos1 - 1);
    description1: = SUBSTR (cadena, pos1 + 1, (pos2 - pos1)-1);
    Description2: = SUBSTR (cadena, pos2 + 1);

    where pos1 and pos2 are numbers.

    Rather than use UTL_FILE, consider creating an external table.  You won't have to write any PL/SQL, and this means that you won't be tempted to write a bad article of EXCEPTION.

  • FILLING OUT FORMS FROM A CSV FILE / EXCEL

    I have a form I need to fill all day several times according to the customer, but this information comes from a spreadsheet, I would use a script to fill it up for me, I have enough knowledge to do this script, could someone help me?

    IMAGEM.png

    FORM.png

    I agree with CalosCanto.

    In my humble OPINION more often (by default) CSV are separated by

    T=iText[i].split( ";"); // this is good for SEMICOLON delimited (files) Better in this case: ROWS
    

    - - - - - - - - - - -

    @Ferrarezzi,

    but I think that for your example maybe it could be better prepare your CSV like that:

    If your CSV looks like this, you can do something like this:

    T=iText[i].split( ";");
    //texto=T;
    alert(T[0]+" "+T[1]+"\n"+T[0]+" "+T[2]+"\n"+T[0]+" "+T[3]);
    

    Result:

    Have fun

  • SQLLDR - load only selected columns from a csv file

    Hello

    Can we charge only a few selected columns of a big (INFILE) CSV using SLLDR?

    Thank you in Advcance
    Kapil

    Hello

    You can take a look at this. It may be useful

    DECLARE
    l_start_file_name varchar2(50) := 'invoice_excel_c';
    l_end_file_name varchar2(50)   := '.csv';
    l_file_name varchar2(100);
    l_sql varchar(32767);
    refresh_cdc varchar2(5) := '00304';
    
    begin
    
    l_file_name := l_start_file_name||REFRESH_CDC||l_end_file_name;
    
     l_sql :=
    'create table exter_invoice_excel               '||
    '(                                              '||
    'Product_name                varchar2(255),     '||
    'Net_Sales                   Number,            '||
    'Net_Adjustments             Number,            '||
    'Cancels_Count               Number,            '||
    'Cancels_Amount              Number,            '||
    'Cashes_Count                Number,            '||
    'Cashes_Amount               Number,            '||
    'Claims_Count                Number,            '||
    'Claims_Amount               Number,            '||
    'Returns_Count               Number,            '||
    'Returns_Amount              Number,            '||
    'Free_Prize_Count            Number,            '||
    'Free_Prize_Amount           Number,            '||
    'Free_Promo_Count            Number,            '||
    'Free_Promo_Amount           Number,            '||
    'Promo_Credit_Count          Number,            '||
    'Promo_Credit_Amount         Number,            '||
    'Return_Commission           Number,            '||
    'Net_Discounts               Number,            '||
    'Total_Fees                  Number,            '||
    'Sales_Commission            Number,            '||
    'Cash_Commission             Number,            '||
    'Tkt_Charge                  Number,            '||
    'Subscription_Commission     Number,            '||
    'Interim_Sweeps              Number,            '||
    'Net_Due                     Number,            '||
    'Retailer_id                 Number,            '||
    'Retailer_Name               varchar2(255)      '||
    ')                                              '||
                  'ORGANIZATION EXTERNAL (                 '||
                  ' TYPE oracle_loader                     '||
                   ' DEFAULT DIRECTORY GTECHFILES          '||
                   ' ACCESS PARAMETERS (                   '||
                   '   RECORDS DELIMITED BY NEWLINE        '||
                   '      CHARACTERSET WE8MSWIN1252        '||
                   '   BADFILE ''invoice_excel.bad''       '||
                   '   DISCARDFILE ''invoice_excel.dis''   '||
                   '   LOGFILE ''invoice_excel.log''       '||
                   '   FIELDS TERMINATED BY '','' RTRIM      '||
                   '  MISSING FIELD VALUES ARE NULL        '||
                   '   )                                   '||
                   '   LOCATION ('''||l_file_name||''')    '||
                   ' )                                     '||
                   'PARALLEL                               '||
                   'REJECT LIMIT UNLIMITED ';
    
            execute immediate l_sql;
    
          l_sql:=  'INSERT INTO INVOICE_EXCEL_TEMP                '||
                      ' ( Product_name               ,            '||
                      '  Net_Sales                   ,            '||
                      '  Net_Adjustments             ,            '||
                      '  Cancels_Count               ,            '||
                      '  Cancels_Amount              ,            '||
                      '  Cashes_Count                ,            '||
                      '  Cashes_Amount               ,            '||
                      '  Claims_Count                ,            '||
                      '  Claims_Amount               ,            '||
                      '  Returns_Count               ,            '||
                      '  Returns_Amount              ,            '||
                      '  Free_Prize_Count            ,            '||
                      '  Free_Prize_Amount           ,            '||
                      '  Free_Promo_Count            ,            '||
                      '  Free_Promo_Amount           ,            '||
                      '  Promo_Credit_Count          ,            '||
                      '  Promo_Credit_Amount         ,            '||
                      '  Return_Commission           ,            '||
                      '  Net_Discounts               ,            '||
                      '  Total_Fees                  ,            '||
                      '  Sales_Commission            ,            '||
                      '  Cash_Commission             ,            '||
                      '  Tkt_Charge                  ,            '||
                      '  Subscription_Commission     ,            '||
                      '  Interim_Sweeps              ,            '||
                      '  Net_Due                     ,            '||
                      '  Retailer_id                 ,            '||
                      '  Retailer_Name               ,            '||
                      '  SOURCE                      ,            '||
                      '  INSERTED_DATE               ,            '||
                      '  CDC                         ,            '||
                      '  UPLOADED                                 '||
                      ')                                          '||
    '              select                                         '||
                      '  ltrim(rtrim(product_name)) ,             '||
                      '  Net_Sales                   ,            '||
                      '  Net_Adjustments             ,            '||
                      '  Cancels_Count               ,            '||
                      '  Cancels_Amount              ,            '||
                      '  Cashes_Count                ,            '||
                      '  Cashes_Amount               ,            '||
                      '  Claims_Count                ,            '||
                      '  Claims_Amount               ,            '||
                      '  Returns_Count               ,            '||
                      '  Returns_Amount              ,            '||
                      '  Free_Prize_Count            ,            '||
                      '  Free_Prize_Amount           ,            '||
                      '  Free_Promo_Count            ,            '||
                      '  Free_Promo_Amount           ,            '||
                      '  Promo_Credit_Count          ,            '||
                      '  Promo_Credit_Amount         ,            '||
                      '  Return_Commission           ,            '||
                      '  Net_Discounts               ,            '||
                      '  Total_Fees                  ,            '||
                      '  Sales_Commission            ,            '||
                      '  Cash_Commission             ,            '||
                      '  Tkt_Charge                  ,            '||
                      '  Subscription_Commission     ,            '||
                      '  Interim_Sweeps              ,            '||
                      '  Net_Due                     ,            '||
                      '  Retailer_id                 ,            '||
                      '  Retailer_Name               ,            '||
                      ' '''||l_file_name                           ||''', '||
                      '   sysdate                    ,            '||
                      ' '''||    REFRESH_CDC                       ||''', '||
                      '''N'''                                      ||
                      'FROM                                       '||
                      'exter_invoice_excel                        '||
                      'WHERE retailer_id is not null and ltrim(rtrim(product_name)) in (''Loto'',''Inst Tk'')';
    
            execute immediate l_sql;    
    
            l_sql :='drop table exter_invoice_excel';
            execute immediate l_sql;
    
    exception
    when others then
    rollback;
    l_sql :='drop table exter_invoice_excel';
    execute immediate l_sql;
    debug_message('INVOICE_EXCEL_UPLOAD/'||REFRESH_CDC,'Unexpected Error '||sqlerrm);
    END;
    
    --truncate table invoice_excel_temp
    

    Thank you

Maybe you are looking for

  • Equium A100 and WXP - missing drivers for multiple devices

    Hi all I have a satellite A100 - 02L and has recently had a virus which means re install the OS that is Vista 32 bit. I had problems with my product recovery disk and decided to install XP. Now XP is installed, but I can not lanuch the browser. Looke

  • Blue screen after running (xp) system restore

    I tried to launch the system restore on a compaq nc6220 Windows xp; now all I get is the BSOD with the following "* STOP: 0x0000007b (0xf79ae528, 0xc0000034, 0x00000000, 0x00000000)."  I don't have a recovery tools cd that works on this laptop (my of

  • Problems of resettlement HP Photosmart C5280 for Win7

    HI, have had a lot of problems with my HP Photosmart C5280 the reinstall the last error: 'Error in file C:\Program Files (x86)\HP\DigitalImaging\bin\hpqscloc\1033.xml analysis' have a response to this problem, not much of a "techie" any help would be

  • How to co-exist the client installation

    HelloI have an asp application classic that we intend to do new development using ASP.NET and the last oracle. NETproviders that requires the installation of the last client I believe.I think the customer on our 2003 Server r2 is release 9.0.1.1.1, w

  • The font size of the user of CS6 interface

    I see there is an option for the police of the UI, for small, medium and large (after a reboot) except on my copy, it seems to make no difference?I'm doing something wrong?Thank youPeter