substr clob to varchar2 in the insertion

Hello

I try inserting several varchar2 values that make up a unique clob in a table.
Version is;
SQL> select * from v$version;

BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
I get the following error message when you try to insert a value in addition to 8,000 characters;
SQL> begin
  2    xddq_ins(rpad('x',8001,'x'));
  3  end;
  4  /
begin
*
ERROR at line 1:
ORA-06502: PL/SQL: numeric or value error: character string buffer too small
But works very well for values less than 8000 characters, for example;
SQL> begin
  2    xddq_ins(rpad('x',4001,'x'));
  3  end;
  4  /

PL/SQL procedure successfully completed.

SQL> select length(str) str_len, pos1,pos2,chunk_cnt
  2  from xddq;

   STR_LEN       POS1       POS2  CHUNK_CNT
---------- ---------- ---------- ----------
      4000          1       4000          1
         1       4001       8000          2
The definition of table and the procedure I use is the following;
create table xddq (Str        varchar2(4000)
                  ,t          timestamp default current_timestamp
                  ,Pos1       integer
                  ,Pos2       integer
                  ,Chunk_Cnt  integer);

create or replace procedure XDDQ_Ins (p_Str in varchar2) as

  STR_EMPTY      exception;

  l_Clob         clob         := to_clob(p_Str);              -- first convert to a clob
  l_Len          pls_integer  := dbms_lob.getlength(l_Clob);  -- clob length
  l_Chunk_Cnt    pls_integer  := ceil(l_Len / 4000);            -- number of chunks

  begin
    if (l_Len < 1) then
      raise STR_EMPTY;
    end if;

    insert into xddq (t
                     ,str
                     ,Pos1
                     ,Pos2
                     ,Chunk_Cnt)
                    (
                     select current_timestamp
                           ,dbms_lob.substr(l_Clob, level*4000, ((level - 1) * 4000) + 1)
                           ,((level - 1) * 4000) + 1
                           ,level*4000
                           ,level
                     from   dual
                     connect by level <= l_Chunk_Cnt
                    );
    exception
      when STR_EMPTY then
        raise_application_error('No string to insert', -20088);
end XDDQ_Ins;
/
The instance character sets are the following;
SQL> select value
  2  from nls_database_parameters
  3  where parameter in ('NLS_CHARACTERSET','NLS_NCHAR_CHARACTERSET')
  4  /

VALUE
----------------------------------------
WE8MSWIN1252
AL16UTF16
Could anyone help regarding how I can fix this problem?

I need perform an INSERTION of a CLOB in chunks of 4,000 characters.
The size of the of the varchar2 parameter in the procedure is never more than 10000 characters.

Thank you

Hello

The amount should be not a constant (= 4000)?

dbms_lob.substr(l_Clob, 4000, ((level - 1) * 4000) + 1)

Tags: Database

Similar Questions

  • Format of variable varchar2 to the course insert in a trigger statement

    I have a trigger in my form that emits an insert into another table.

    Insert the dropper

    (phone)

    values

    (: dropperprospect.phone);

    On the insert, I want the value to include dashes, like 703-923-7000 instead of just being a string of numbers like 7039237000.  I need to do because of the transmission of data is stored on the table of the dropper.  How can I apply this format on my insert.

    Note: dropperprospect.phone is a varchar2 data type (12).  The phone on the dropper table column is also a varchar2 data type (12).

    Any help would be greatly appreciated.

    You'll have to SUBSTR() number phone and it concatenates return as well as dashes.  For example:

    DECLARE
      v_formatted_phone   VARCHAR2(15);
    BEGIN
      v_formatted_phone := SUBSTR(:dropperprospect,1,3)||'-'||SUBSTR(:dropperprospect,4,5)||'-'||SUBSTR(:dropperprospect,5,9);
      insert into dropper values(v_formatted_phone);
    END;
    

    Craig...

  • How to copy the data from the CLOB on Varchar2?

    Hi all
    I have a CLOB field with data, I want to copy all the ot its data to another field of varchar2 to the same table. How, please?
    I think that I should use the Update statement, but how?

    Note: Iam using DB Oracle 10g R2

    You can just do a simple UPDATE, but if you have the adta in your CLOB which is too big to fit in your column VARCHAR2 column, you will not be able to get it all:

    UPDATE my_table SET my_varchar2_column = SUBSTR(my_clob_column,1,[size of my_varchar2_column];
    
  • Data recovery before the insert in the procedure

    Hello
    I'm new in plsql programming and I'd like to do a procedure. I have tables like the following table1:

    | COL1 | COL2. COL3 | COL4 | COL5 | COL6 | COL7 |
    | 600. 140. 2. 10. 1300 | 500 | 1.
    | 600. 140. 2. 20. 1400 | 340. 4.
    | 600. 140. 2. 15. 1400 | 230. 3.
    | 600. 140. 2. 35. 1700 | 120. 2.
    | 600. 150. 3. 10. 1300 | 166. 6.
    | 600. 150. 3. 15. 1400 | 435. 5.

    For the same COL1 and COL2/COL3, check out the selection of different values of COL4
    For example, for COL1 = 600, COL2 = COL3/140 = 2 and COL2 = COL3/150 = 3
    Return not common 20 and 35 as values


    Then insert the rows in this table TABLE1
    600, 150, 3, 20, 1400, 340, 7
    600, 150, 3, 35, 1700, 120, 8


    I'm doing the procedure as below but I have problem how to recover data in the insert statement

    PROCEDURE COPY_COLUMNS  ( P_COL1        IN  A.COL1%TYPE,
                              P_FROM_COL2   IN  B.COL2%TYPE,
                              P_FROM_COL3   IN  B.COL3%TYPE,
                              P_TO_COL2     IN  B.COL2%TYPE,
                              P_TO_COL3     IN  B.COL3%TYPE,
                              P_FLG1        IN  VARCHAR2,
                              P_FLG2        IN  VARCHAR2,
                              P_FLG3        IN  VARCHAR2                                      
                                         ) IS
    
    CURSOR CFL1 IS select COL4
        FROM TABLE1
        WHERE COL1 = P_COL1 AND COL2 = P_FROM_COL2 AND COL3 = P_FROM_COL3
        MINUS
        select COL4
        FROM TABLE1
        WHERE COL1 = P_COL1 AND COL2 = P_TO_COL2 AND COL3 = P_TO_COL3;
    
    
    CURSOR CFL2 IS select COL4
        FROM TABLE2
        WHERE COL1 = P_COL1 AND COL2 = P_FROM_COL2 AND COL3 = P_FROM_COL3
        MINUS
        select COL4
        FROM TABLE2
        WHERE COL1 = P_COL1 AND COL2 = P_TO_COL2 AND COL3 = P_TO_COL3;
    
    
    CURSOR CFL3 IS select COL4
        FROM TABLE3
        WHERE COL1 = P_COL1 AND COL2 = P_FROM_COL2 AND COL3 = P_FROM_COL3
        MINUS
        select COL4
        FROM TABLE3
        WHERE COL1 = P_COL1 AND COL2 = P_TO_COL2 AND COL3 = P_TO_COL3;  
    
    
    V_REC        CFL1%ROWTYPE;
    
    
    BEGIN
    
    
    IF P_FLG1='N' OR P_FLG2='N' OR P_FLG3='N' THEN
        GOTO label; --do nothing
    END IF;
    
    
    IF P_FLG1 = 'Y' THEN
    
        OPEN CFL1;
        FETCH CFL1 INTO V_REC;
        CLOSE C1;
    
    --    SELECT COL5, COL6
    --    FROM TABLE1
    --    WHERE COL1 = P_COL1 AND COL2 = P_FROM_COL2 AND COL3 = P_FROM_COL3 AND COL4 = V_REC.COL4;
    
    
        FOR REC IN CFL1 LOOP
            INSERT INTO TABLE1 
                SELECT P_COL1, P_TO_COL2, P_TO_COL3, CFL1.COL4, -- COL5 ?? , COL6 ?? -- , SEQname2.NEXTVAL) 
    
    
        END LOOP;
    
    END IF;
    
    <<label>>
    END;
    

    Could you help me please do so?
    Thanks in advance

    And if you want to insert the missing values COL4 both sense, use of full join, as I've already shown (slightly modified):

    SQL > insert
    2 in table1
    3 values (600,150,3,70,1500,567,8)
    4.

    1 line of creation.

    SQL > insert
    2 in table1
    3 values (600,150,3,90,1900,789,9)
    4.

    1 line of creation.

    SQL > select *.
    2 from table1
    3.

    COL1 COL2 COL3 COL4 COL5 COL6 COL7
    ---------- ---------- ---------- ---------- ---------- ---------- ----------
    600 140 2 10 1300 500 1
    600 140 2 20 1400 340 4
    600 140 2 15 1400 230 3
    600 140 2 35 1700 120 2
    600 150 3 10 1300 166 6
    600 150 3 15 1400 435 5
    600 150 3 70 1500 567 8
    600 150 3 90 1900 789 9

    8 selected lines.

    SQL > insert
    2 in table1
    3 with t1 as)
    4 Select
    5 from table1
    6 where col1 =: P_COL1
    7 and col2 =: P_FROM_COL2
    8 and col3 =: P_FROM_COL3
    9 and: P_FLG1 = 'Y '.
    10              ),
    11 t2 as)
    12. Select *.
    13 from table1
    14 where col1 =: P_COL1
    15 and col2 =: P_TO_COL2
    16 and col3 =: P_TO_COL3
    17 and: P_FLG1 = 'Y '.
    18              )
    19 select: P_COL1 col1,.
    nvl2(t1.col4,:P_TO_COL2,:P_FROM_COL2) 20 col2,
    nvl2(t1.col4,:P_TO_COL3,:P_FROM_COL3) 21 col3,
    22 nvl (t1.col4, t2.col4) col4,
    NULL, 23
    NULL, 24
    25 null
    26 of t1
    join full 27
    28                t2
    29 on t2.col4 = t1.col4
    30 where the t1.col4 is null
    31 or t2.col4 is null
    32.

    4 lines were created.

    SQL > select *.
    2 from table1
    3.

    COL1 COL2 COL3 COL4 COL5 COL6 COL7
    ---------- ---------- ---------- ---------- ---------- ---------- ----------
    600 140 2 10 1300 500 1
    600 140 2 20 1400 340 4
    600 140 2 15 1400 230 3
    600 140 2 35 1700 120 2
    600 150 3 10 1300 166 6
    600 150 3 15 1400 435 5
    600 150 3 70 1500 567 8
    600 150 3 90 1900 789 9
    600 140 2 70
    600 140 2 90
    600 150 3 35

    COL1 COL2 COL3 COL4 COL5 COL6 COL7
    ---------- ---------- ---------- ---------- ---------- ---------- ----------
    600 150 3 20

    12 selected lines.

    SQL >

    SY.

  • Oracle 12 c - unexpected result with the insertion of the DBA_VIEWS view

    Hello

    I try inserting the DBA_VIEWS fields in a table belonging to a common C a PDB file ##SA user:

    (a) the PDB PDBORCL using user C ##SA connection:

    SQL * more: Production of liberation 12.1.0.1.0 kills him Sep 10 16:21:39 2013

    Copyright (c) 1982, 2013, Oracle.  All rights reserved.

    Enter the password:

    Last successful login time: kills Sep 10-2013 16:18:26 + 02:00

    Connected to:

    Database Oracle 12 c Enterprise Edition Release 12.1.0.1.0 - 64 bit Production

    With the options of partitioning, OLAP, advanced analytics and Real Application Testing

    C##SA@pdborcl 10.09.2013 > see the con_name

    CON_NAME

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

    PDBORCL

    C##SA@pdborcl 10.09.2013 > see the con_id

    CON_ID

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

    3

    (b) I create the table user SA_VIEWS_V

    C##SA@pdborcl 10.09.2013 > select count (*) in the dba_views;

    COUNT (*)

    ----------

    6220

    1 selected line.

    C##SA@pdborcl 10.09.2013 > create table sa_views_v (owner varchar2 (128), view_name varchar2 (128));

    Table created.

    (c) the insertion in the table SA_VIEWS_V gave me only 65 rows at the same time lines of content 6220 dba_views:

    C##SA@pdborcl 10.09.2013 > INSERT INTO SA_VIEWS_V (OWNER, VIEW_NAME) SELECT MASTER, VIEW_NAME DBA_VIEWS;

    65 lines were created.

    C##SA@pdborcl 10.09.2013 > commit;

    Validation complete.

    C##SA@pdborcl 10.09.2013 > SELECT MASTER, VIEW_NAME DBA_VIEWS;

    ...

    IX

    IX

    IX

    SH

    6220 selected lines.

    (d) you will find above the executed plan of the insert and the single select statement:

    C##SA@pdborcl 10.09.2013 > select * from table (dbms_xplan.display_cursor ('aj3vkggtvv9d9'));

    PLAN_TABLE_OUTPUT

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

    SQL_ID, aj3vkggtvv9d9, number of children 0

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

    INSERT INTO SA_VIEWS_V (OWNER, VIEW_NAME) SELECT VIEW_NAME, MASTER OF

    DBA_VIEWS

    Hash value of plan: 1585970530

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

    | ID | Operation | Name | Lines | Bytes | Cost (% CPU). Time |

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

    |   0 | INSERT STATEMENT.                  |       |       |   136 (100) |          |

    |   1.  LOAD TABLE CLASSIC |                  |       |       |            |          |

    |*  2 |   FILTER                         |                  |       |       |            |          |

    |*  3 |    HASH JOIN |                  |    65.  6045.   136 (0) | 00:00:01 |

    |*  4 |     HASH JOIN |                  |    65.  4875.   132 (0) | 00:00:01 |

    |   5.      NESTED LOOPS |                  |       |       |            |          |

    |   6.       NESTED LOOPS |                  |    65.  3315 |   131 (0) | 00:00:01 |

    |   7.        INDEX SCAN FULL | I_VIEW1 |    65.   325.     1 (0) | 00:00:01 |

    |*  8 |        INDEX RANGE SCAN | I_OBJ1 |     1.       |     1 (0) | 00:00:01 |

    |   9.       TABLE ACCESS BY INDEX ROWID | OBJ$             |     1.    46.     2 (0) | 00:00:01 |

    |  10.      INDEX SCAN FULL | I_USER2 |   131.  3144 |     1 (0) | 00:00:01 |

    |  11.     TABLE ACCESS FULL | USER$ |   131.  2358.     4 (0) | 00:00:01 |

    | * 12 |    TABLE ACCESS FULL | USER_EDITIONING$ |     1.     6.     2 (0) | 00:00:01 |

    |  13.    SEMI NESTED LOOPS.                  |     1.    29.     2 (0) | 00:00:01 |

    | * 14 |     INDEX SKIP SCAN | I_USER2 |     1.    20.     1 (0) | 00:00:01 |

    | * 15 |     INDEX RANGE SCAN | I_OBJ4 |     1.     9.     1 (0) | 00:00:01 |

    | * 16.    TABLE ACCESS FULL | USER_EDITIONING$ |     1.     6.     2 (0) | 00:00:01 |

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

    Information of predicates (identified by the operation identity card):

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

    2 filter (((IS NULL AND "O". ("TYPE #" <>88) OR BITAND ("O". ("" FLAGS ", 1048576) = 1048576 OR

    BITAND ("U". "" SPARE1»(, 16) = 0 OR (((SYS_CONTEXT ('userenv', 'current_edition_name') = ' ORA$ BASE ", AND)))"

    "U"." TYPE #"(<>2) OR ('U'." ' TYPE # '= 2 AND 'U'. "SPARE2" = TO_NUMBER (SYS_CONTEXT ('userenv ',' current_e)) "

    dition_id'))) or IS NOT NULL) AND IS NOT NULL)))

    3 - access("O".") SPARE3 '=' U '. ("" USER # ")

    4 - access("O".") "OWNER # '=' U '. ("" USER # ")

    8 - access("O".") ' OBJ # '=' V '. (' ' OBJ # ")

    12 filter (("TYPE #" =: B1 ET "UE".)) "THE USER #" =:B2))

    14 - access("U2".") TYPE # "= 2, AND"U2"." SPARE2 "= TO_NUMBER (SYS_CONTEXT ('userenv ',' current_editi))"

    on_id')))

    filter (("U2". "TYPE #"= 2, AND "U2"."" SPARE2 "= TO_NUMBER (SYS_CONTEXT ('userenv ',' current_edit))"

    ion_id')))

    15 - access("O2".") DATAOBJ #"=: B1 AND 'O2'." ' TYPE # '= 88 AND 'O2'. "OWNER #"= "U2". ("" USER # ")

    16 filter ((' EU'. "TYPE #" =: B1 AND 'EU '. "THE USER #" =:B2))

    47 selected lines.

    C##SA@pdborcl 10.09.2013 > select * from table (dbms_xplan.display_cursor ('bc4f1jh1snwdp'));

    PLAN_TABLE_OUTPUT

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

    SQL_ID, bc4f1jh1snwdp, number of children 0

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

    SELECT THE OWNER, DBA_VIEWS NOM_DE_VUE

    Hash value of plan: 1508506130

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

    | ID | Operation | Name | Lines | Bytes | Cost (% CPU). Pstart. Pstop |

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

    |   0 | SELECT STATEMENT |                  |       |       |     1 (100) |       |       |

    |   1.  PARTITION LIST ALL |                  | 10000 |  1289K |     0 (0) |     1.     2.

    |   2.   TABLE FIXED FULL | X$ COMVW$ 5885ef62 | 10000 |  1289K |     0 (0) |       |       |

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

    14 selected lines.

    You have an idea about this result?

    Thank you in advance,

    Arnaud.

    Arnaud,

    This has a fairly simple explanation.

    In 12cR1, there are common objects, and there are local objects. The definition of a common object is stored in the ROOT, and only a stub for the object is stored in the PDB. The definition of a local object is stored in the PDB.

    When DBA_VIEWS is questioned in a PDB file, so we must return to lines of views both as common as the result of the query. If views Commons are not returned, then several views that a client is used to see in the result of a query DBA_VIEWS to 11.2 and earlier versions not will be seen in paragraph 12.1. For example, ALL_TABLES, DBA_OBJECTS, etc.

    When DBA_VIEWS is questioned in a PDB file, then we extraction of lines for local opinions of PDB and common views of ROOT lines. The first has value ORIGIN_CON_ID equal to the ID of the container of the PDB to which you are connected, and they value ORIGIN_CON_ID equal to the ID of the ROOT container. Given that the recovery of these lines should be done in two different containers, we go through a fixed table X$ COMVW$ *.

    The gap that you are experiencing is because this fixed table based assessment is used only to SELECT and not for etc. SELECT, INSERT AS SELECT, CREATE TABLE AS.

    Let me know if that makes sense.

    Thank you

    Thomas

  • Help with the insert statement

    Hello

    I was wondering if someone could help write me a sql statement.

    Here is my table:
    CREATE TABLE "TEMP_INVOICE" 
       ("INVOICE" VARCHAR2(100 BYTE),
         "DATE_OF_DOCUMENT" DATE, 
         "DATE_OF_PAY_DAY" DATE, 
         "D" NUMBER, 
         "K" NUMBER
       );
    Here are the instructions for correct insertion. This time, I posted 2 examples with 2 numbers different otherwise.
    insert into temp_invoice (invoice,DATE_OF_DOCUMENT,DATE_OF_PAY_DAY,d,k)  values (1000,to_date('01.02.2012','dd.mm.yyyy'),to_date('01.03.2012','dd.mm.yyyy'),5000,0);
     
    insert into temp_invoice (invoice,DATE_OF_DOCUMENT,DATE_OF_PAY_DAY,d,k)  values (1000,to_date('01.04.2012','dd.mm.yyyy'),'','',1000);
     
    insert into temp_invoice (invoice,DATE_OF_DOCUMENT,DATE_OF_PAY_DAY,d,k)  values (1000,to_date('01.05.2012','dd.mm.yyyy'),'','',3000);
     
    insert into temp_invoice (invoice,DATE_OF_DOCUMENT,DATE_OF_PAY_DAY,d,k)  values (1000,to_date('01.06.2012','dd.mm.yyyy'),'','',1000);
    
    insert into temp_invoice (invoice,DATE_OF_DOCUMENT,DATE_OF_PAY_DAY,d,k)  values (2000,to_date('01.07.2012','dd.mm.yyyy'),to_date('01.09.2012','dd.mm.yyyy'),8000,0);
     
    insert into temp_invoice (invoice,DATE_OF_DOCUMENT,DATE_OF_PAY_DAY,d,k)  values (2000,to_date('01.10.2012','dd.mm.yyyy'),'','',5000);
     
    insert into temp_invoice (invoice,DATE_OF_DOCUMENT,DATE_OF_PAY_DAY,d,k)  values (2000,to_date('01.11.2012','dd.mm.yyyy'),'','',2000);
     
    insert into temp_invoice (invoice,DATE_OF_DOCUMENT,DATE_OF_PAY_DAY,d,k)  values (2000,to_date('01.12.2012','dd.mm.yyyy'),'','',1000);
    I want to do is make an insert allows you to table another call is MADE:
    CREATE TABLE "INVOICE" 
       ("INVOICE" VARCHAR2(100 BYTE),
        "DATE_OF_DOCUMENT" DATE, 
         "DATE_OF_PAY_DAY" DATE,
         "DATE_OF_PAYMENT_REC" DATE,
         "VALUE" NUMBER,
         "VALUE_DEDUCT" NUMBER,
        "DATE_FROM" DATE,     
         "DATE_TO" DATE
         );
    Statements in the INVOICE table should be like this:


    ........ The Bill... date_of_document... date_of_pay_day... date_of_payment_rec... value... value_deduct... Date_from... Date_to
    1......     1000...............1.1.2012.................1.3.2012................NULL............................ 5000... NULL... 1.3.2012...1.4.2012
    2......     1000...............1.4.2012.................NULL..................... 1.4.2012...1000... 4000... 2.4.2012... 1.5.2012
    3......     1000...............1.5.2012.................NULL..................... 1.5.2012...3000... 1000... 2.5.2012... 1.6.2012
    4......     1000...............1.6.2012.................NULL..................... 1.6.2012...1000


    Can someone help me with the sql statement that would insert data from table to table Bill temp_invoice as in the example?

    Thank you!

    PS

    I would try to explain.
    (1) the first statement that is to be inserted is original imply that at which is different DATE_OF_PAY_DAY to NULL.
    To this inserted negative of the original imply, we must add date_from that is exatly the same date_of_pay_day and date_to which is exactly the same as the date of the first payment. Payment which came first!
    (2) we have now in the second insert statement. It will be the first payment of lease with date_of_document and date_pf_payment_rec, which is the same as date_fo_document. Value field will be populated with the amount of payment received and value_deduct field will be the value of the original imply - value of the first payment. Date is date_of_document + 1 and date_to is the date of the next payment.
    (3) Insert us the next installment. Date_od_payment_rec is the same as date_of_document... value is the amount of the second payment and value_deduct's previous value_deduct which was of 4000 - value of this second payment. date_from date_of_payment_rec + 1 and date_to is the date of the next payment

    So we continue this same pattern until we reached the final payment when we finish insert with the statement:
    Date of the document (date of the last payment received) and even for date_of_payment_rec and field value with the amount of the payment receieved. The rest (value_deduct, date_from, date_to) is null.

    I really hope you understand what I'm trying to do here.

    If you have any other questions please.

    Published by: user13071990 on November 22, 2012 04:16

    Published by: user13071990 on November 22, 2012 04:16

    Hello

    user13071990 wrote:
    ... Here are the instructions for correct insertion. This time, I posted 2 examples with 2 numbers different otherwise.

    Ok!
    Be sure to post the results you want new data.

    You probably need to add "PARTITION BY the Bill" to all analytical clauses in my solution:

    INSERT INTO invoice
    ( invoice, date_of_document, date_of_pay_day, date_of_payment_rec
    , value,   value_deduct,     date_from,           date_to
    )
    SELECT       invoice
    ,       date_of_document
    ,       date_of_pay_day
    ,       CASE
               WHEN  k > 0
               THEN  date_of_document
           END          AS date_of_payment_rec
    ,       NVL (d, k)     AS value
    ,       NVL2 ( date_of_pay_day
                , NULL
                , SUM (d) OVER ( PARTITION BY  invoice
                                          ORDER BY      date_of_document
                         )
                - SUM (k) OVER ( PARTITION BY  invoice
                                          ORDER BY      date_of_document
                         )
                )     AS value_deduct
    ,       NVL ( date_of_pay_day
               , date_of_document + 1
               )          AS date_from
    ,       LEAD (date_of_document) OVER ( PARTITION BY  invoice
                                            ORDER BY      date_of_document
                               )
                          AS date_to
    FROM       temp_invoice
    ;
    

    Because I'm not an English speaker nativ, that I just posted what it should look like after the insert is successful.

    OK, so you can't explain as you want, but you still need to explain.

    ... @Frank Kulash: you are very close, but still not quite what I'm looking for.

    Point out where my solution is the production of incorrect results, and explain (as you can) how to get good results in these places.

  • Help the insertion of an unknown number of lines in a custom Data Type

    Hi all

    I need help in the insertion of an unknown number of lines in a custom Data Type

    In Oracle I was thinking something like...
    CREATE OR REPLACE TYPE &HKDB_Schema_Name..SOMEDATA AS OBJECT (ID int, Name varchar2);
    /
    CREATE OR REPLACE TYPE &HKDB_Schema_Name..TYP_TABLE AS TABLE OF &HKDB_Schema_Name..SOMEDATA;
    /
    
    CREATE OR REPLACE PROCEDURE &HKDB_Schema_Name..SProc1
    (
    )
    AS
    l_TempTable TYP_TABLE := TYP_TABLE();
    v_count NUMBER := 0;
    l_ID int;
    l_Name varchar2(200);
    BEGIN
     
      LOOP
      -- exit the loop if the select returns no results. (look if exists in l_TempTable)
      v_count := SELECT COUNT(*) FROM Person p WHERE p.ID NOT IN (SELECT ID FROM TABLE(CAST(l_kgListTable AS TEMP_KGID_TABLE)));
    
      -- select the top result
      SELECT p.ID, p.UserName INTO l_ID, l_Name FROM Person p WHERE p.ID NOT IN (SELECT ID FROM TABLE(CAST(l_kgListTable AS TEMP_KGID_TABLE)))  
      AND ROW_NUM = 1;
    
      insert data into custom data type
      l_TempTable.extend;
      l_TempTable(l_TempTable.last) := SOMEDATA(l_ID, l_Name);
    
      EXIT WHEN v_count < 1;
      END LOOP;
    END SProc1;
    While I don't know this will probably do the job, it feels not very effective, have to select where the argument no_lig = 1 and then insert a facility on time. Is there a better way to do it?

    Basically, it's a migration of a MSSQL stored procedure where the equivalent would be...
    DECLARE @TempTable TABLE (ID int, Name varchar)
    
    INSERT INTO @TempTable (ID, Name) (SELECT ID, UserName FROM Persons)
    Thanks in advance,
    Toby

    Oh sorry you posted that before but I missed it. In this case maybe you should simply remove the

    as "HasChildren"{pre} part. This is only valid for a column name, but you input that expression directly into a type. It is not a column at this point.
    
  • Conversion of CLOB in Varchar2

    I store my SQLs in a table column that contains the CLOB data type. I want to execute this SQL dynamically using execute immediate command. Can I used the to_char function to convert CLOB in VARCHAR2? Can I run clob directly?

    Can I run clob directly?

    Not in 10g and lower versions.
    As long as the clob is smaller then 32 k one"to_char (your_clobstatment)"will work well.

  • The inserts in Apple shipping boxes can be removed

    I love my Apple product boxes come and wishes to 'reuse' but finds it difficult to remove the inserts in form.  Is there a way to remove the molded inserts?

    I know, I know!  Not a matter of technique!

    Open the box carefully at both ends (on a seam you can then farm band) and remove them.

  • What happened to the insertion function. It was on the same line as file

    What happened to the insertion function? It was on the same line as the files, tools, etc. He's gone. If you want to insert a jpg you sent as an attachment. I have read through the help files and that you can't find the answer. I want my old Thunderbird back! Newer is not always better.

    I suspect that you have lost the Mail composition toolbar. Open an entry window, press and hold the < alt > key, type v and check the box for the mail toolbar. I would also allow the Menu bar while you are there.

    Another possibility, if the Insert option is missing in the mail toolbar, is that it is spent in composition in plain text mode. Open the settings page of the account assigned by right-clicking on the account in the left pane, select Composition & addressing and tick the box labelled "Dial using the HTML format".

  • I have to restart Qosmio F30-127 in order to recognize the inserted disks

    I have the Qosmio F30 127, which has the CARPET * A DVD RW. Very often, however, it does not recognize the fact that there is a disc in the drive. I have to restart for the DVD to recognize the inserted disc.

    If a disc is placed in the slot, shortly after starting it is correct until an attempt to use a different disk.
    This is a common problem or any other agency knows this and if so what is the fix?

    I put t think that it s a common problem.
    Always it is that readers do not each CD/DVD support and sometimes such disorders.
    Try to remove the drive from Device Manager and restart the laptop. After the reboot, the drive should be recognized again. Check if there is no change.
    Check that you have installed the firmware. Maybe a new available on the Toshiba page.

  • Masking of the adapter in the Insert palette icons

    I create a TestStand OI in LabVIEW. I was wondering if it is possible to hide the adapter icons located in the Insert palette?

    I think calling RefreshViewMgrs() on the ApplicationMgr should work to update things.

    Also, it is best to use the KeyName rather than the full name as the display name can get localized or changed in the future.

    Hope this helps,

    -Doug

  • Restarting my computer (Dell... Microsoft XP), the system tries to install creative projects and requires the insertion of a CD that I don't have or want.

    Restarting my computer (Dell... Microsoft XP), the system tries to install creative projects and requires the insertion of a CD that I don't have or want.

    I tried all obvious ploys, but I can't always Cancel/remove this element which is a nuisance, because it prevents me to install other programs that I want to.
    Any other suggestions would be welcome.
     
    Original title: CREATIVE WINDOWS

    Robert,

    Try to run this Fixit: http://support.microsoft.com/mats/Program_Install_and_uninstall

  • using Xp the sd popup does not work on the insertion of the sd chip into the slot, how can it be repaired?

    normally on the insertion of the sd chip a pop-up dialog box appears asking what route you want that information to sd etc. This pop up does not work and the only way I can get into the sd information is to search on D:, then click on 'Open' please notify if MS can restore the pop up facillity?

    Hi JohnWack,

    Welcome to the Microsoft Community Forums.

    We're here to help and guide you in the right direction.

    According to the description of the problem, I understand that you do not get the AutoPlay option when you insert the SD chip into the Windows XP computer.

    -What do you mean by "what route you want to than the sd information etc."? Are you referring to the auto play feature?

    Try these methods.

    Method 1

    Double-click on "My Computer", right-click on the drive you want to Auto play and click 'properties '.

    Click the 'Auto play '.

    Method 2

    Steps to enable AutoPlay.

    1. start, click run, type Gpedit.msc in the Open box, and then click OK.
    2. under Computer Configuration, expand models of administration and then click System.
    3. in the settings pane, do a right click Enable Autoplay, and then click Properties.

    For your reference.

    Windows XP does not recognize a secure digital card when you reinsert it after you remove it
    http://support.Microsoft.com/kb/812661

    It will be useful.
    Let us know if you encounter problems under windows in the future. We will be happy to help you.

  • my Media Player shows no music, or rip music of the inserted disc. What can solve this problem

    my Media Player shows no music, or rip music of the inserted disc. What can solve this problem

    Hey Lucky,

    You can try the steps in the follwoign and check if it helps.

    Method 1:

    You can try to rebuild the media player library, and then try to extract again

    This problem can occur if the media library is corrupt. Rebuild the library and check if this solves the problem.

    Follow these steps:

    a. exit Windows Media Player.

    b. Click Start, run, type %LOCALAPPDATA%\Microsoft\Media Player and then click OK.

    c. Select all files in the folder and then click on Delete on the file menu.

    Note: You don't have to remove the folders that are in this folder.

    d. restart Windows Media Player.

    Note: Windows Media Player automatically rebuilds the database.

    If this does not resolve the problem, disable the Windows Media Player database cache files. To do this, follow these steps:

    a. exit Windows Media Player.

    b. Click Start, click Run, type % LOCALAPPDATA%\Microsoft and then click OK.

    c. Select the Media Player folder, and then click on Delete on the file menu.

    d. restart Windows Media Player.

    Method 2:

    You can also try to change rip settings and check.

    For more information, you can consult the following article:

    Change settings for ripping

Maybe you are looking for

  • BIOS-transfer failed

    Download failed:FTP://ftp.Toshiba.ca/BIOS/b440cdt.exeanwer: the system cannot find the path specified

  • Error Code 80070663 - installation Problem__ Windows security update

    HelloI have a problem installing some updates for Windows Vista. I received the error code 80070663 during the installation of the security updates. When I tried to install the same updates from the Windows Download Center, an error message pops up t

  • Blue screen error STOP: 0x0000007E (0xC0000005, 0x8Ac18874, 0xF792A468, 0xF792A164)

    Original title: blue, impossible to restart screen System: Dell Dimension 3000, Windows XP Home - SP3. Problem: I recently installed the new memory (now has 2G), check that the memory has been recognized and work.  Computer worked fine for several ho

  • Cannot locate photos that I downloaded on my phone

    I imported more than 300 photos from my cell phone to my computer. I do that all the time with my camera, so I know what I'm doing.  I saw the pictures import, but I can't find them anywhere.  There is a file folder (I can see a picture) with date of

  • Help please! I can't install Flash Player for my website

    I have a Web site. The problem is whenever the readers of my site from a mobile phone, they complained that I might have a problem with the flash player, but when someone visits the laptop or desktop, it seems OK. Can you tell me what is the problem?