Can i use commit in between pl sql statements

Hi,
I have written program unit , in that I used insert statements and after that I used commit command.
But in runtime it's getting oracle error unable to insert . because I used some non database items and database items
so that it's coming error.
But my question is , Can i use commit after executing some statements in program unit procedure.
Thanks in advance.

FORMS_DDL restrictions
The statement you pass to FORMS_DDL may not contain bind variable references in the string, but the
values of bind variables can be concatenated into the string before passing the result to FORMS_DDL.
For example, this statement is not valid:
Forms_DDL ('Begin Update_Employee (:emp.empno); End;');
However, this statement is valid, and would have the desired effect:
Forms_DDL ('Begin Update_Employee ('||TO_CHAR(:emp.empno)
||');End;');
However, you could also call a stored procedure directly, using Oracle8's shared SQL area over
multiple executions with different values for emp.empno:
Update_Employee (:emp.empno);
SQL statements and PL/SQL blocks executed using FORMS_DDL cannot return results to Form
Builder directly.
In addition, some DDL operations cannot be performed using FORMS_DDL, such as dropping a table
or database link, if Form Builder is holding a cursor open against the object being operated upon.
Sarah

Similar Messages

  • How can I use home sharing between our iphones (create playlists from both accounts at once)

    How can I use home sharing between our iphones, so that we can create playlists with songs from both of our libraries?  We share a Macbook Pro (separate accounts) and each have the new iphone, but when I have my iphone and try to create a new playlist, I can only grab songs from one account.  Is there a way to create a playlist using both accounts since we are sharing?
    Does it have to be created within iTunes first on our Mac?

    The short answer: because Home Sharing isn't designed for sharing apps, and apps aren't designed to be shared.
    The longer answer:  Think of it like this...
    You download some music in iTunes.  With Home Sharing, another user can listen to it by streaming it over the network.  But the data itself is on your computer.  If you turn off the computer or take it off the network, the other user can't access it.
    But if you send another user the app, they aren't just streaming the data- they installed it on their iOS device.  Because they weren't the one that purchased it, such a transfer could easily be considered "piracy" or "stealing," and nobody likes that (least of all, Apple). 
    When iTunes sees this app, it obviously recognized it, as if saying, "Hey, how did you get this app on your device, if I have no record of you purchasing/downloading it from the iTunes store?"
    post edited to correct spelling errors

  • Can i use home sharing between my computer and my ipad?

    can I use home sharing between my computer and my new ipad (3rd generation)  if so, how.
    Thanks

    You can use it to share the library on your computer to the iPad, not the other way around.
    On the computer, set up homesharing in the advanced menu. On the iPad go to settings > music.

  • Can we use multiple "pivot_for_clauses" in 11g SQL PIVOT

    Can we use multiple "pivot_for_clauses" in 11g SQL PIVOT. Below SQL is an example of what I am trying to do - In this case instead of using JOIN, can I have three pivot_for_clauses in the same sql?
    SQL:
    MERGE INTO Test_1 dest
    USING (SELECT P1.company_id,trunc(sysdate) as load_date,num_logins,......
    FROM (SELECT company_id,action_type_id
    FROM Testauditinfo_1 where trunc(audit_date_time)=trunc(sysdate)-1) a
    PIVOT (count(action_type_id) FOR (action_type_id) IN ((1) as num_logins,(2) as num_logouts,(61) as
    num_logins_from_mobile_device,(16) as num_pref_changed,....)) P1
    JOIN
    (SELECT company_id,action_type_id,tx_type_id
    FROM Testauditinfo_1 where trunc(audit_date_time)=trunc(sysdate)-1) a
    PIVOT (count(action_type_id) FOR (action_type_id,tx_type_id) IN ((3,4) AS add_invoice, (4,4) AS
    edit_invoice,(3,3) as num_checks,(3,47) as num_paychecks,(3,7) as num_recvd_payments,(3,9) as num_bills,
    (3,35) as num_estimates,(3,46) as num_purchase_orders)) P2
    on P1.company_id=P2.company_id
    JOIN
    (SELECT company_id,action_type_id,list_type_id
    FROM Testauditinfo_1 where trunc(audit_date_time)=trunc(sysdate)-1) a
    PIVOT (count(action_type_id) FOR (action_type_id,list_type_id) IN ((3,2) AS num_items,(3,1) as
    num_accounts,(3,4) as num_employees,(3,6) as num_customers,(3,14) as num_memorized_reports)) P3
    on P2.company_id=P3.company_id
    left outer JOIN
    (SELECT company_id,create_date,count(*) as num_logos
    FROM qbo.companylogos_1 group by company_id,create_date having trunc(create_date)=trunc(sysdate)-1) P4
    on P3.company_id=P4.company_id
    ORDER BY P1.company_id) source
    ON ((dest.company_id = source.company_id) and (dest.load_date = source.load_date))WHEN MATCHED THEN
    UPDATE SET dest.num_items = source.num_items where 1=2
    WHEN NOT MATCHED THEN
    INSERT (dest.company_id,.....) values (source.company_id,.....);

    Maybe
    MERGE INTO Test_1 dest
    USING (SELECT P1.company_id,trunc(sysdate) as load_date,num_logins,......
             FROM (select *
                     from (SELECT company_id,action_type_id
                             FROM Testauditinfo_1
                            where trunc(audit_date_time) = trunc(sysdate)-1
                          ) a
                          PIVOT (count(action_type_id)
                            FOR (action_type_id) IN ((1) as num_logins,
                                                     (2) as num_logouts,(61) as num_logins_from_mobile_device,
                                                     (16) as num_pref_changed,....
                  ) P1
                  JOIN
                  (select *
                     from (SELECT company_id,action_type_id,tx_type_id
                             FROM Testauditinfo_1
                            where trunc(audit_date_time) = trunc(sysdate)-1
                          ) a
                          PIVOT (count(action_type_id)
                            FOR (action_type_id,tx_type_id) IN ((3,4) AS add_invoice,
                                                                (4,4) AS edit_invoice,
                                                                (3,3) as num_checks,
                                                                (3,47) as num_paychecks,
                                                                (3,7) as num_recvd_payments,
                                                                (3,9) as num_bills,
                                                                (3,35) as num_estimates,(3,46) as num_purchase_orders
                  ) P2
               on P1.company_id = P2.company_id
                  JOIN
                  (select *
                     from (SELECT company_id,action_type_id,list_type_id
                             FROM Testauditinfo_1
                            where trunc(audit_date_time) = trunc(sysdate)-1
                          ) a
                          PIVOT (count(action_type_id)
                            FOR (action_type_id,list_type_id) IN ((3,2) AS num_items,
                                                                  (3,1) as num_accounts,
                                                                  (3,4) as num_employees,
                                                                  (3,6) as num_customers,
                                                                  (3,14) as num_memorized_reports
                  ) P3
               on P2.company_id = P3.company_id
                  left outer JOIN
                  (SELECT company_id,create_date,count(*) as num_logos
                     FROM qbo.companylogos_1
                    group by company_id,create_date
                    having trunc(create_date) = trunc(sysdate)-1
                  ) P4
               on P3.company_id = P4.company_id
            ORDER BY P1.company_id
          ) source
       ON ((dest.company_id = source.company_id) and (dest.load_date = source.load_date))
    WHEN MATCHED
    THEN UPDATE SET dest.num_items = source.num_items where 1 = 2
    WHEN NOT MATCHED
    THEN INSERT (dest.company_id,.....)
          values (source.company_id,.....)Did you try it ?
    Regards
    Etbin

  • Can I use Reports Server Queue PL/SQL Table API to retrieve past jobs ?

    Hi all,
    Can I use Reports Server Queue PL/SQL Table API to retrieve past jobs using WEB.SHOW_DOCUMENT from Forms ?
    I have reviewed note 72531.1 about using this feature and wonder if i can use this metadata to retrieve past jobs submitted by a user.
    The idea would be to have a form module that can filter data from the rw_server_queue table, say, base on user running the form, and be able to retrieve past jobs from Report Server Queue. For this, one would query this table and use WEB.SHOW_DOCUMENT.
    Is this possible ...?
    Regards, Luis ...!

    Based on that metalink note and the code in the script rw_server.sql, I am pretty sure that by querying the table you would be able accomplish what you want... I have not tested it myself... but it looks that it will work... you have the jobid available from the queue, so you can use web.show_document to retrieve the output previously generated...
    ref:
    -- Constants for p_status_code and status_code in rw_server_queue table (same as zrcct_jstype)
    UNKNOWN CONSTANT NUMBER(2) := 0; -- no such job
    ENQUEUED CONSTANT NUMBER(2) := 1; -- job is waiting in queue
    OPENING CONSTANT NUMBER(2) := 2; -- opening report
    RUNNING CONSTANT NUMBER(2) := 3; -- running report
    FINISHED          CONSTANT NUMBER(2) := 4; -- job has finished
    TERMINATED_W_ERR CONSTANT NUMBER(2) := 5; -- job has terminated with

  • How can I use comma in the return values of a static list of values

    Hi all,
    I want to create a select list (static LOV) like the following:
    Display Value / Return Value
    both are "Y" / 'YY'
    one is "Y" / 'YN','NY'
    I write the List of values definition is like this:
    STATIC:both are "Y"; 'YY',one is "Y";'YN', 'NY'
    However, it is explain by htmldb like this:
    Display Value / Return Value
    both are "Y" / 'YY'
    one is "Y" / 'YN'
    / 'NY'
    I tried using "\" before the ",", or using single or double quote, but all these do not work:(
    How can I use a comma in the return values?
    Thanks very much!

    "Better still, why not process the code of both Y with 2Y and one is Y with 1Y? "
    Could you please explain in detail? thanks! I am quite new to htmldb
    In fact I have a table which has too columns "a1" and "a2", both the values of these two columns are "Y" or "N". AndI want to choose the records that both a1 and a2 are "Y", or just one of a1, a2 is "Y".
    So I write the report sql like this:
    "select * from t1 where a1 || a2 in(:MYSELECTLIST) "
    Thus, I need to use "," in the LOV, since expression list in IN(,,,) using ",".
    Any other way to implement this?

  • Can I use home sharing between my iPhone and iPad? Or do I need to use a computer?

    I want to use home sharing between my iPhone and Ipad. So I can use the remote app. But I can't get it to work

    You can use it to share the library on your computer to the iPad, not the other way around.
    On the computer, set up homesharing in the advanced menu. On the iPad go to settings > music.

  • Can you use ActiveX controls in PL/SQL?

    I am trying to find a way to start email from within a database trigger. Someone told me I could use an ActiveX Control (custom made by a colleague). Although I have never worked with ActiveX or OLE, I know that it is possible to use them in Forms. Is is also possible to call an ActiveX in PL/SQL? How? And if it is impossible, could someone tell me another way to start email (the application is to be implemented in a Windows NT Network).
    Lots of thanks for any answer or advice,
    Joeri Folman
    null

    Joen,
    I am not totally sure what you mean when you say 'start email', but you should check out the utl_smpt packages in the database. They can be used to send email messages from the database. I believe that you need to have an email server (like sendmail) running on the machine for these to work correctly.
    Check out Oracle Built-In Packages by Steven Feuerstein. Steven also has a real good book on PL/SQL programming that you may find helpful.

  • Can we use MessageTransformBean in between XML -- XML scenario !!

    Hi Claver Heads,
    Small thing in XML to XML transformation. Can we use MessageTransformBean? The reason why I am asking, In my scenario, XML to ABAP proxy, messages are splitting (1:n) everything is working fine. But in splitting messages, first Messages is getting all nodes etc., from split second message on words, Couple of nodes are missing(not coming at all)?
    Any solutions for this please?
    Thanks
    Regards
    San

    Hi hetal,
    Yeah you are 100% correct. This must be context issue. But I don't know how to fix this. The target message is quite big hierarchy, like ProductActivityNotification>ProductActivity>Item>SalesTimeSeries>Item>ValidPeriod>Startdate etc.,
    Source XML is getting DTM segment, which is in Header -- comes one time, more than 100 line items to this message. This 100 line items has to go with this date into Startdate etc.,
    At present I am getting only one time this into Startdate. Please any clue in this!!
    Many Thanks in advance
    Kind Regards
    San

  • Using IN in a direct SQL statement.

    Peter,
    I tried a couple of things to no avail. The simplest
    one is like this:
    myType.SetValue('\'CI\',\'NG\',\'MS\'');
    It works if I do
    myType.SetValue('\'CI\'');
    Same is valid if myType is declared as a String.
    Hi,
    What does the string in myType look like? You should
    be careful with ' and \ as they are used by Forte. I
    suggest you post a sample of the myType's value.
    Regards,
    Peter Sham.--- Rumen Georgiev <[email protected]> wrote:
    Hi folks,
    I have a problem when executing direct SELECT
    statement against Oracle 7.4, something like that:
    SQL SELECT ..... INTO .... FROM ..... WHERE .....
    AND
    TYPE IN :myType ON SESSION .......
    myType is TextData containing a list of possible
    values separated by commas. myType is set at run
    time.
    When executed through SQL*Plus the result is O.K..
    When executed through Forte it doesn't return
    anything. It seems that eigther Forte or Oracle
    disregards the commas and treats myType as it will
    with =,>,<. What makes me think so is that when
    myType
    holds single value it works. It fails as soon as I
    concatenate one more value from the list. Same
    happens
    when using cursor. I didn't try it with DBSession
    methods but I assume the result will be the same. I
    can't use EXECUTE EMMEDIATE because I expect result
    set(INTO). So far the only way I can think of is a
    WHILE loop for every single value from the list.
    Any ideas,comments or workarounds?
    Thank's in advance.
    Rumen__________________________________________________
    Do You Yahoo!?
    Bid and sell for free at http://auctions.yahoo.com

    The primary key is only necessary for the Form (for managing updates). Maybe you can create an Interactive Report. There you can set that a row is uniquely defined by rowid.
    Or define a primary key constraint on your view...
    HTH
    Roel

  • How can i use multiple row subquery in update statement

    Hai All
    I using group function in my update statement.. and i need to update more rows so i need to use multiple row
    subquery pls tell me how to use multiple row subquery in update statement
    For example
    while i am using this like this i got an error
    update dail_att set outtime in (select max(r2.ptime) from temp_att where empcode=r2.enpno and
    barcode=r2.cardn and attend_date=r2.pdate group by enpno,pdate,cardn);
    Pls tell me how to use with example
    Thanks & regards
    Srikkanth.M

    Hai Man
    Thanks for ur response Let me clear what i need
    First step Fetch the records as text file and stores into table T1
    and the next step is i have seperated the text using substring and stores in different columns of a table
    There are two shifts 0815 to 1645 and 1200 and 2000
    Here I rep IN and O rep OUT
    Empno date time inout
    001 01-01-10 0815 I
    002 01-01-10 0815 I
    003 01-01-10 0818 I
    001 01-01-10 1100 0
    001 01-01-10 1130 I
    002 01-01-10 1145 0
    002 01-01-10 1215 I
    004 01-01-10 1200 I
    005 01-01-10 1215 I
    004 01-01-10 1315 O
    004 01-01-10 1345 I
    001 01-01-10 1645 0
    002 01-01-10 1715 0
    003 01-01-10 1718 0
    004 01-01-10 2010 0
    005 01-01-10 2015 0
    This is my T1 table i have taken data from text file and stored in this table from this table i need to move data to another table T2
    T2 contains like this
    Empno Intime Intrin Introut Outtime Date
    001 0815 1100 1130 1645 01-01-10
    002 0815 1145 1215 1715 01-01-10
    003 0818 1718 01-01-10
    004 1200 1315 1345 2010 01-01-10
    005 1215 2015 01-01-10
    This what i am trying to do man but i have little bit problems Pls give some solution with good example
    And my coding is
    declare
         emp_code varchar2(25);
    in_time varchar2(25);
    out_time varchar2(25);
    Cursor P1 is
    Select REASON,ECODE,READMODE,EMPD,ENPNO,FILL,PDATE,PTIME,INOUT,CARDN,READERN
    From temp_att
    group by REASON,ECODE,READMODE,EMPD,ENPNO,FILL,PDATE,PTIME,INOUT,CARDN,READERN
    ORDER BY enpno,pdate,ptime;
    begin
         for r2 in p1 loop
    declare
    bar_code varchar2(25);
    begin
    select barcode into bar_code from dail_att where empcode=r2.enpno and attend_date=r2.pdate;
    For r3 in (select empcode,empname,barcode,intime,intrin,introut,addin,addout,outtime,attend_date from dail_att)loop
    if r2.inout ='O' then
    update dail_att set outtime =(select max(r2.ptime) from temp_att where empcode=r2.enpno and barcode=r2.cardn and attend_date=r2.pdate group by r2.cardn,r2.enpno,r2.pdate );
    end if;
    end loop;     
    exception
         when no_data_found then
         if r2.inout ='I' then
                   insert into dail_att(barcode,empcode,intime,attend_date)(select r2.cardn,r2.enpno,min(r2.ptime),r2.pdate from temp_att group by r2.cardn,r2.enpno,r2.pdate );
         end if;
    end;
    end loop;
    commit;     
         end;
    Pls tell me what correction i need to do i the update statement i have used a subquery with group function but when i used it will return only one row but my need is to return many rows and i need to use multiple row subquery
    and how can i use it in the update statement
    Thanks In Advance
    Srikkanth.M

  • How do I use a variable within a sql statement

    I am trying to use a local variable within an open SQL step but I keep getting an error.
    My sql command looks like this "SELECT BoardDetailID FROM BoardDetails WHERE SerialNumber = " +  locals.CurrentSerialNo
    If I replace the locals.CurrentSerialNo with an actual value such as below the statement works fine.
    "SELECT BoardDetailID FROM BoardDetails WHERE SerialNumber = " +  " 'ABC001' " 
    Can someone tell me how to correctly format the statement to use a variable?

    Hi,
    Thanks for the reply. I have changed the required variable to a string, but with no success. I have reattached my updated sequence file and an image of the error.
    When looking at the Data operation step I see that the sql statement is missing everything after the last quotation mark.
    Thanks again,
    Stuart
    Attachments:
    Database Test Sequence.seq ‏10 KB
    TestStand error.JPG ‏37 KB

  • Using 'NOT IN' Within a SQL Statement

    Does anyone know why the following SQL statement does not return any values? The problem is with the SELECT statement within the 'NOT IN' clause. When explicitly typing in the part_ids returned from the select statement, everything works as expected.
    Thanks for any help.
    SELECT Distinct Part_Id, Trans_Date
         FROM Invctrl
         WHERE Trans_Type = 0
         AND Trans_Date BETWEEN To_Date( '1-Mar-2006 00:00:00', 'dd-mon-yyyy hh24:mi:ss' )
         AND To_Date( '31-Jan-2007 23:59:59', 'dd-mon-yyyy hh24:mi:ss' )               
         AND Part_Id NOT IN (SELECT part_Id From InvCtrl WHERE Trans_Date < To_Date( '1-Mar-2006 00:00:00', 'dd-mon-yyyy hh24:mi:ss'))

    'NOT IN' should be avoided where ever we can.
    Change your query to 'IN' clause as below and it should work.
    SELECT DISTINCT part_id, trans_date
               FROM invctrl
              WHERE trans_type = 0
                AND trans_date BETWEEN TO_DATE ('1-Mar-2006 00:00:00',
                                                'dd-mon-yyyy hh24:mi:ss'
                                   AND TO_DATE ('31-Jan-2007 23:59:59',
                                                'dd-mon-yyyy hh24:mi:ss'
                AND part_id IN (
                       SELECT part_id
                         FROM invctrl
                        WHERE trans_date BETWEEN TO_DATE ('1-Mar-2006 00:00:00',
                                                          'dd-mon-yyyy hh24:mi:ss'
                                             AND TO_DATE ('31-Jan-2007 23:59:59',
                                                          'dd-mon-yyyy hh24:mi:ss'
                       MINUS
                       SELECT part_id
                         FROM invctrl
                        WHERE trans_date <
                                 TO_DATE ('1-Mar-2006 00:00:00',
                                          'dd-mon-yyyy hh24:mi:ss'
    [pre]                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

  • How can I open a cursor for dynamic sql statement

    Hi,
    I'm facing issues opening a cursor for dynamic sql statement : PLS-00455: cursor 'RESULT1' cannot be used in dynamic SQL OPEN statement.
    CREATE OR REPLACE FUNCTION DEMO
    (MN_I in VARCHAR)
    return AB_OWNER.ABC_Type.NonCurTyp is
    RESULT1 AB_OWNER.ABC_Type.NonCurTyp;
    sql_stmt VARCHAR2(4000);
    BEGIN
    sql_stmt := 'SELECT * FROM AB_OWNER.DUN WHERE JZ_I in ('||mn_i||') ORDER BY app.ACC_I';
    OPEN RESULT1 FOR sql_stmt;
    END IF;
    return RESULT1;
    END DEMO;
    What changes should I make in the code so that it doesn't fail? I can't change the definition of RESULT1 cursor though.

    Gangadhar Reddy wrote:
    I used SYS REFCURSOR and was able to implement successfully.How many times did you run this successful implementation that does not use bind variables?
    Because this is what will happen when it runs a lot.
    http://download.oracle.com/docs/cd/E11882_01/server.112/e17766/e2100.htm#sthref1874
    http://forums.oracle.com/forums/search.jspa?q=%2BORA-04031%20%2Bbind&objID=c84&dateRange=all&rankBy=10001&start=30
    And you will have to regularly restart the server, or possibly slightly less invasive, flush the shared pool.
    Flushing Shared Pool regularly
    http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:1516005546092
    >
    Ok, this is an easy one to diagnose.
    You are not using bind variables. This is terrible. Flushing the shared pool is a bad
    solution -- you are literally killing the performance on your box by not using them.
    If I was to write a book on how to build “non scalable applications in Oracle”, this
    would be the first and last chapter. This is a major cause of performance issues and a
    major inhibitor of scalability in Oracle. The way the Oracle shared pool (a very
    important shared memory data structure) operates is predicated on developers using bind
    variables. If you want to make Oracle run slowly, even grind to a total halt – just
    refuse to use them.
    >
    But, please feel free to go ahead with this successful implementation.
    I just hope anyone else who reads this doesn't make the same mistake.

  • Can we use dbms_output.put_line package with forall statement

    Hello Everybody
    Can we use dbms_output.put_line package with forall or can we use insert,update and delete only
    declare
    type emp_rec is table of emp%rowtype
    index by binary_integer;
    t emp_rec;
    begin
    select * bulk collect into t from emp;
    forall i in t.first..t.last
    dbms_output.put_line(t(i).name);
    end;Thanks & Regards
    peeyush
    Edited by: Peeyush on Nov 25, 2010 11:45 PM

    MichaelS wrote:
    Well as the docs explain (though not very clear and detailed, I admit) you can use a dynamic sql statement (execute immediate) with FORALL.You got me interested in the performance side doing this Michael - running PL/SQL code via a FORALL loop.
    It is faster than using a normal FOR loop to execute dynamic PL/SQL - a bit surprising as I expected another context switch to be in there. But seems like the PL/SQL engine is a more clever at optimisation than what I originally credited it with.. ;-)
    Of course - pre-compiled/static PL/SQL code in a FOR loop is the fastest, as expected.
    SQL> declare
      2          type TNumbers is table of number;
      3 
      4          type TTimes is record(
      5                  for_all number,
      6                  for_dynamic number,
      7                  for_static number
      8          );
      9 
    10          type TTimesTable is table of TTimes;
    11 
    12          MAX_ITERATIONS  constant number := 10;
    13 
    14          plBlock         varchar2(1000) :=
    15          'declare i number;
    16          begin i:= :var / 10; end;';
    17 
    18          performance     TTimesTable;
    19          t1              number;
    20          bindVar         TNumbers;
    21          n               number;
    22  begin
    23          select
    24                  level bulk collect into bindVar
    25          from    dual
    26          connect by level <= 10000;
    27 
    28          dbms_output.put_line( 'Iterations: '||bindVar.Count||' for loop cycle(s)' );
    29 
    30          performance := new TTimesTable();
    31          performance.Extend( MAX_ITERATIONS );
    32 
    33          for j in 1..MAX_ITERATIONS
    34          loop
    35                  t1 := dbms_utility.get_time;
    36                  forall i in 1..bindVar.Count
    37                          execute immediate plBlock using bindVar(i);
    38                  performance(j).for_all := dbms_utility.get_time-t1;
    39 
    40                  t1 := dbms_utility.get_time;
    41                  for i in 1..bindVar.Count
    42                  loop
    43                          execute immediate plBlock using bindVar(i);
    44                  end loop;
    45                  performance(j).for_dynamic := dbms_utility.get_time-t1;
    46 
    47                  t1 := dbms_utility.get_time;
    48                  for i in 1..bindVar.Count
    49                  loop
    50                          n := bindVar(i) / 10;
    51                  end loop;
    52                  performance(j).for_static := dbms_utility.get_time-t1;
    53          end loop;
    54 
    55          dbms_output.put_line( 'Times in 100th of a second' );
    56          dbms_output.put_line( rpad('for all',15) || rpad('for dynamic',15) || rpad('for static',15) );
    57          for i in 1..performance.Count
    58          loop
    59                  dbms_output.put_line(
    60                          rpad( performance(i).for_all, 15 )||' '||
    61                          rpad( performance(i).for_dynamic, 15 )||' '||
    62                          rpad( performance(i).for_static, 15)
    63                  );
    64          end loop;
    65 
    66  end;
    67  /
    Iterations: 10000 for loop cycle(s)
    Times in 100th of a second
    for all        for dynamic    for static
    10              72              0
    6               37              0
    6               37              0
    6               37              0
    6               36              0
    6               37              1
    5               37              0
    5               37              0
    6               37              1
    5               37              0
    PL/SQL procedure successfully completed.
    SQL>

Maybe you are looking for