Cannot specify precision of the year in the RANGE of stored procedure parameter

Version Oracle 10.2.0.3.0

I write a PL/SQL stored procedure that accepts a parameter of type INTERVAL YEAR TO MONTH. For example...
CREATE OR REPLACE PROCEDURE INTERVAL_TEST ( pin_Interval IN INTERVAL YEAR TO MONTH )
Problem with the above is that if I try to call with pin_Interval = 100-00', I get the following error...
ORA-01873: the leading precision of the interval is too small
... but I'm not able to specify the precision of the component 'YEAR' in the following stored procedure definition...
CREATE OR REPLACE PROCEDURE INTERVAL_TEST ( pin_Interval IN INTERVAL YEAR(4) TO MONTH )
... This translates by...
PLS-00103: Encountered the symbol "(" when expecting one of the following:     to 
Try as I might, I can't create a stored procedure that will take in an INTERVAL YEAR TO MONTH more precisely 2 on the year.

I hope that I do just something stupid, and this is not a limitation of PL/SQL.

Any help is appreciated.

Hello

Is the maximum number of decimal digits of the value of each field (YEAR and MONTH) 2, excerpt from [Datetime and Interval examples | http://download.oracle.com/docs/cd/B19306_01/server.102/b14200/sql_elements001.htm#BABBICGH]

Kind regards

Tags: Database

Similar Questions

  • The call PLSQL stored procedure from the HTML form Submit button

    Hello

    I'm having a little difficulty with the appellant a stored procedure using a html form button. Here is the code I have right now...
    HTP.PRINT('<form action=ZWGKERCF.P_confdelete>');
    HTP.PRINT('<input type=''submit'' value='' Yes '' onClick=''document.getElementById("mypopup").style.display="none"''>');
    HTP.PRINT('</form></div>');
    Here's the question - I need to find a way to pass variables to this stored procedure, so he knows what data to operate on. This stored procedure removes the data in a specific database record and I have to pass three variables to this procedure to run.

    Allows to call class_number, term, conf will impact these three variables and the data will be deleted and the person will see a confirmation screen once the deletion request completed.

    So ideally I would want: ZWGKERCF. P_confdelete (class_number, term, conf), then the stored procedure would deal with the rest!

    Seems simple enough, but I don't know how to make this happen... My thoughts were:

    Transmit data to this (the three areas that I need) html form in hidden variables. Then somehow pass them using the POST method to the procedure and read using GET?

    Can someone clarify what the best way to do it? I feel that its little something miss me you - but I would really like an idea expertise :-)

    Thank you very much in advance!

    -Jeff

    >
    ...

    I would like to assign a variable, the duration, the conf crn all variables in this procedure and then act on them accordingly.

    But you already have it in a variable. If you want you can assign the value again to another variable.

    example of

    PROCEDURE P_confdelete(CRN NUMBER,TERM NUMBER, CONF VARCHAR2)
       IS
          v_crn number(38);
          v_term number(38);
          v_conf varchar2(1000);
    
      BEGIN
           HTP.PRINT('test1 '||crn||'/'||term||'/'||conf); 
    
          v_crn := crn;
          v_term := term;
          v_conf := conf;
    
          HTP.PRINT('test2 '||v_crn||'/'||v_term||'/'||v_conf); 
    
    END P_confdelete;
    
  • Cannot create the web service stored procedure.

    I can create more web services is by right clicking on the package of the stored procedure in the db connection. This good worked before and I cannot explain why I can't see this option. Grateteful for tips on why it has stopped working.

    '2009' is what Oracle said.

    John

  • Creation of XML report using the PL/SQL stored procedure

    Hi friends,

    I'm working on a report xml with the xml source as a PL/SQL stored procedure.

    I mean the fiscal year indicated in the following link to understand the process:

    http://orclapp.blogspot.com/2012/02/developing-xml-publisher-report-using.html

    In the example shown in the link above, I did not understand the following:

    (1) in the following procedure, setting out "retcode" is not used at all.

    What is the importance of this parameter.

    REPORT PROCEDURE (errbuf OUT VARCHAR2, retcode OUT VARCHAR2, p_product_id in NUMBERS)

    (2) after the xml data are prepared and updates 'l_result' variable Clob, what follows

    Loop is executed. I am not able to understand why the following loop is required.

    LOOP

    EXIT WHEN l_length = l_retrieved;

    IF (l_length - l_retrieved) < 32000

    THEN

    SELECT SUBSTR (l_result, l_retrieved + 1) IN l_xmlstr FROM DUAL;

    l_retrieved: = l_length;

    fnd_file.put_line (fnd_file.output, l_xmlstr);

    ON THE OTHER

    SELECT SUBSTR (l_result, l_retrieved + 1, l_offset)

    IN l_xmlstr

    FROM DUAL;

    l_retrieved: = l_retrieved + l_offset.

    fnd_file.put_line (fnd_file.output, l_xmlstr);

    END IF;

    END LOOP;

    (3) in the example it is not explained how the concurrent program gets the xml data?

    I guess that it is written to a file by using the following line of code:

    fnd_file.put_line (fnd_file.output, l_xmlstr);

    I would be grateful if someone can shed some light in my questions above so that I can well understand the process.

    Thanks and greetings

    Hawker

    Hi 32000 in the code is a 'safe' than 32767 available max mesh, loops is intended to get around the entire thing into pieces that can be managed within the limits of the data type.

    BTW; If you are in the following Oracle e-business, you can also use the Oracle reports very simply to create the XML output.

    If you have reports developer all you need to do is put raw sql (create XML without any "Fireworks") in the SQL report and then set reporting in XML format in the definition of program in Oracle e-business.

    Best regards

    Robert.

  • A wrong number or types of arguments in the call to stored procedure

    Hi all...
    I'm missing something simple here, but I don't see what it is.
    I have looked around and cannot know what the problem is.
    Calling a stored procedure in Oracle 11g of Java 6.

    Here is my code:
       CallableStatement proc = null;                
       proc = conn.prepareCall("{ call storedProc(?, ?, ?, ?, ?) }");
       proc.setString("p_header", "8YR6TG");
       proc.setString("p_optype", "A");
       proc.registerOutParameter("p_headerCursor", OracleTypes.CURSOR);
       proc.registerOutParameter("p_detailCursor", OracleTypes.CURSOR);
       proc.registerOutParameter("p_status", OracleTypes.VARCHAR);
       proc.execute();
    Here are my stored procedure:
    PROCEDURE storedProc (
    p_header IN VARCHAR2,
    p_optype IN VARCHAR2,
    p_headerCursor OUT R_CURSOR,
    p_detailCursor OUT R_CURSOR,
    p_status OUT VARCHAR)
    Here's the exception I get:
    java.sql.SQLException: ORA-06550: line 1, column 7:
    PLS-00306: wrong number or types of arguments in call to 'storedProc'
    ORA-06550: line 1, column 7:
    PL/SQL: Statement ignored
         at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:125)
         at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:305)
         at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:272)
         at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:626)
         at oracle.jdbc.driver.T4CCallableStatement.doOall8(T4CCallableStatement.java:181)
         at oracle.jdbc.driver.T4CCallableStatement.execute_for_rows(T4CCallableStatement.java:870)
         at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1081)
         at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:2905)
         at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:2996)
         at oracle.jdbc.driver.OracleCallableStatement.execute(OracleCallableStatement.java:4120)
    Can you see what I'm doing wrong here?
    Thanks in advance for your comments!

    Published by: Brady on February 16, 2012 13:02

    try to use digital indexes instead of parameter names.

  • PLS-00201 error occurs when the batch a stored procedure in SQL * more

    I have a batch file to run a stored procedure and the coil results in file. When I enter orders manually in sql * plus the output works very well and my results are spooling in the output file. But when I run the same commands in the script I get an error batch.


    Any ideas?

    Stored procedure:

    create or replace procedure MMP (p_cursor in the SYS_REFCURSOR)

    as

    Start

    Open p_cursorfor select name, id from table;

    end;

    batch file 1:

    sqlplus-s user/pw@REPORTDV @sp_output_spooled.sql

    sp_output_spooled.SQL script file

    Paste these commands directly on the SQL * more guest wraps the result as expected the value leader.

    the colsep value ' |'

    trigger the echo

    Set feedback off

    termout off Set

    set the position

    set linesize 9000

    set pagesize 0

    Set trimspool on

    headsep off Set

    output of the coil. TXT

    var refcursor rc

    run MMP(:rc)

    print the rc

    spool off

    output

    Errors printed to the output. TXT file after the batch is executed and error occurs:

    BEGIN MMP(:rc); END;

    *
    ERROR on line 1:
    ORA-06550: line 1, column 8:
    PLS-00201: identifier 'MMP' must be declared.
    ORA-06550: line 1, column 8:
    PL/SQL: Statement ignored


    ERROR:
    ORA-24338: statement handle not executed


    SP2-0625: variable printing error "rc".

    Hello

    Your code worked fine for me.

    Procedure MMP is owned by the same user that runs the batch file or does it means and appropriate privileges?

    VR,

    Sudhakar

  • How to pass the content of the table as OUT of the stored procedure parameter

    Hi all

    I am writing a stored procedure where he must accept date as one of the parameters IN and it must interrogate the table of database on this criterion and should address data in a temporary table.

    in the end, he must send all the data from the temporary table as the OUT parameter.

    How to get there? should I create a new TYPE with all the columns in the Temp table and use this Type as a parameter? or SYS_REFCURSOR is the best option.

    Thanks in advance.

    Hello

    The best way to do what you want depends on what you want.  Start by describing what you need to do.  It is best to post some data examples (CREATE TABLE and INSERT statements), and what results you want from this sample data.  (See the FAQ forum: https://forums.oracle.com/message/9362002)

    If you have any ideas on how to do the work (for example, populating a temporary table) it may be useful to include those who, too, but a clear distinction between WHAT you do and HOW you do it.

    Bencol suggested, a SYS_REFCURSOR may be the best way to transmit the results.

    Since you only post your table, or even describe what you wanted to do with it, I will illustrate using scott.emp, which is probably on your system.

    Say you want a procedure that takes a DATE as an argument, then returned a certain designated columns (empno, ename, and hiredate in the example below) for all employees hired from the given DATE.  You can write a procedure like this:

    CREATE OR REPLACE PROCEDURE hired_since

    (IN start_date DATE

    out_data ON SYS_REFCURSOR

    )

    AS

    BEGIN

    OPEN FOR Out_data

    SELECT ename, empno, hiredate

    FROM scott.emp

    WHERE hiredate > = start_date;

    END hired_since;

    /

    DISPLAY ERRORS

    You can test it in SQL * more like this:

    VARIABLE c REFCURSOR

    EXEC hired_since (DATE ' 1982-01-01',: c);

    PRINTING: c

    The output I received this test was:

    ENAME, EMPNO, HIREDATE

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

    7788 SCOTT APRIL 19, 87

    7876 ADAMS MAY 23, 87

    7934 MILLER JANUARY 23, 82

  • Call to the stored procedure parameter passing script

    Hello

    I have a database on linux server. On the same server, there is a shell script which takes 3 parameters.

    Now I want to do a procedure (stored procedure) that will have 3 parameters pass and run this script with these settings.

    I had created object directory pointing to the correct directory granted all privileges on it (I hope).

    Now, I wondered how the code of procedure?

    I also did a program within the database which takes 3 parameters, but I don't know how to operate it. I don't know if I can use work to run the program, because

    It is a multi user thing and I think that this will not work as expected if 2 or more users run it.

    In any case, I was hoping that I can solve this problem by creating the procedure that will run the script that is provided with 3 parameters, that I need.

    I hope I'm clear on what I want to do.

    Please if you have an idea how to Edifier post your ideas.

    Thank you!

    Hello

    first I want to thank you for the reply.

    option 1... I don't want not to use java or c because I have no skills in programming languages.

    option 2 you mentioned dbms_scheduler.

    If I understand the procedure should go like that.

    I create whitin database program. Then I create a job which runs this program. And whenever I want to run my shell script, I'll do the work.

    WHA happen if 2 different users will want to run the script at the same time?

    Thank you for your response.

  • appellant the pl/sql stored procedure

    Jdev11g R2, ADF BC

    I have a stored procedure 'COPY_BKG_E2I' and it has three input parameters to generate a new record in the database.
    ===========================================================================
    I created the AM method as follows and defined as method of the client AM class:
    =========================================================

    helper method:
    ===========

    protected void callStoredProcedure (String stmt, Object [] bindVars) {}
    PreparedStatement st = null;
    try {}
    // 1. Create a JDBC PreparedStatement for
    St = (PreparedStatement class) getDBTransaction () .createPreparedStatement ('start' stmt + ";"end;", 0);
    If (bindVars! = null) {}
    // 2. Loop on values for the bind variables passed, if any
    for (int z = 0; z < bindVars.length; z ++) {}
    // 3. Set the value of each variable binding in the statement
    st.setObject (z + 1, bindVars [z]);
    }
    }
    // 4. Execute the statement
    st.executeUpdate ();
    }
    catch (SQLException e) {}
    throw new Aexception.getLocalizedMessage (e);
    }
    {Finally
    If (st! = null) {}
    try {}
    // 5. Close statement
    St.Close ();
    }
    catch (SQLException e) {}
    }
    }
    }


    call the stored procedure:

    {} public void callProcWithThreeArgs (String V_BKG_NO, String V_VESSEL_ARRIVED_REMARKS, Date V_ATA_POD_D)
    callStoredProcedure ("COPY_BKG_E2I(?,?,?)", ")
    New Object [] {V_BKG_NO, V_ATA_POD_D, V_VESSEL_ARRIVED_REMARKS});
    }


    Now, I created back bean and page fragment,
    =================================

    in my page fragment, I bind the field three entries to the bean back:
    ============================================

    package olfms.view.backing;

    Import oracle.adf.view.rich.component.rich.input.RichInputDate;
    Import oracle.adf.view.rich.component.rich.input.RichInputText;
    Import oracle.adf.view.rich.component.rich.output.RichOutputText;

    public class saveBkgUpd {}
    Private RichOutputText bkg_no;
    Private RichInputDate arrive_date;
    Private RichInputText arrive_remarks;

    public saveBkgUpd() {}
    Super();
    }

    {} public void setBkg_no (RichOutputText bkg_no)
    This.bkg_no = bkg_no;
    }

    public RichOutputText getBkg_no() {}
    Return bkg_no;
    }

    {} public void setArrive_date (RichInputDate arrive_date)
    This.arrive_date = arrive_date;
    }

    public RichInputDate getArrive_date() {}
    Return arrive_date;
    }

    {} public void setArrive_remarks (RichInputText arrive_remarks)
    This.arrive_remarks = arrive_remarks;
    }

    public RichInputText getArrive_remarks() {}
    Return arrive_remarks;
    }

    My question:
    //?????? How to call the callProcWithThreeArgs with these three bkg_no; arrive_date; arrive_remarks; Help, please! Thank you!

    ?
    }

    Check your imports
    especially: import oracle.binding.BindingContainer;
    This is the bean of tire

    import oracle.adf.model.BindingContext;
    import oracle.binding.BindingContainer;
    import oracle.binding.OperationBinding;
    
    public class Test {
        public Test() {
        }
    
        public BindingContainer getBindings() {
            return BindingContext.getCurrent().getCurrentBindingsEntry();
        }
    
        public String callProcedureProgramatically() {
            BindingContainer bindings = getBindings();
            OperationBinding operationBinding = bindings.getOperationBinding("callProcWithThreeArgs");
            operationBinding.getParamsMap().put("param1", "first value");
            operationBinding.getParamsMap().put("param2", "second value") ;
            operationBinding.getParamsMap().put("param3", "third value");
            Object result = operationBinding.execute();
            if (!operationBinding.getErrors().isEmpty()) {
                return null;
            }
            return null;
        }
    }
    
  • Question about handling apostrophe in the stored procedure parameter

    I was wondering how people have dealt with this problem.  In my process I use the operation to execute stored procedure (sp) to write data to a database, and it is by the way the field values to the sp as parameters.  Works fine when everything is normal but as soon as an apostrophe is added in one of the fields, ka-boom.  It breaks .  So I have been messing around with the means to fight against this problem and did not really come wih an appropriate option.  I know that I can go on the form and write a few RegEx and change the single apostrophe double that would work, but I have to write in several events since the form is sent to someone else and I can't have them seeing "clerk"s"instead of"clerk".  Right now I'm writing an xpath statement that would replace the single apostrophe with a double bed with no luck.  I was wondering if anyone else has had this problem and found an easy solution.  Thank you

    Mike

    Why not use the parameterized query option.

    In this way, your settings are replaced by some? and you don't get messed up with the '

    Your select statement would look like: select * from table where column1 =? and column2 =?

    Then you can map the? s in the process variables.

    Jasmine

  • Dashboard of the guests and stored procedures

    Hello

    I have 7 guests - 2 which are necessary and others are optional. I created guests from Dashboard and grouped 2 those required in a dashboard command prompt and more optional 5 in an another guest of dashboard. All the guests are assigned to the variables and used in calling a stored procedure in SQL Server. Because I have 2 groups there are 2 go buttons on the page. I found that the order in which I enter data and click on the questions of buttons and will disrupt the call to the proc (i.e. sometimes it brings back data but sometimes she will be not based on recorded fast values).

    I have 2 questions:
    1. is it possible to separate the optional and mandatory guests so I can put them in separate the dashboard sections, but to have only 1 'Go' button to send the data?

    2. among the guests, I would like to be a multiple selection. Is it possible to send the options of multiple selections in a stored procedure? I use the variables to other values, but I've read using a variable for multiple selection is not possible.

    Any help would be appreciated
    Thank you
    UNA

    Issues related to the:
    1. not in the standard, but with a bit of javascript, it is possible
    http://sranka.WordPress.com/2008/11/09/how-to-replace-multi-go-button-prompt-by-one/
    2. it is not possible in 10 g but possible normally as promised to 11 g. You must create camps prompt or a command prompt with the different possibilities to pass a string instead of an array or a list.

    Success
    Nico

  • The Null value as the default value for an input to a stored procedure parameter

    Hello

    How can we set the default values with the NULL value for the parameter in a stored procedure.
    create or replace procedure emp_proc ( p_test_input in varchar2
                                                        p_emp_id in number,
                                                        p_emp_name in varchar2,
                                                       p_manager_id in number )
    as
      begin
       if ( upper ( p_test_input ) = 'I' )
       then
          insert into emp
          values      ( p_emp_id  ,p_emp_name ,p_Manager_id,sysdate );
       elsif ( upper ( p_test_input ) = 'D' )
       then
          delete from emp
          where       emp_id  = p_emp_id;
       else
          dbms_output.put_line
             ( 'Please input ''A'' for ADD or ''D'' Delete  EMPLOYEE'
             );
       end if;
    end;
    As described above if I want to delete only the functioning

    I want to call this procedure without pass additional parameters.
     EXECUTE  emp_proc('D',1010);
    Published by: Rede on May 28, 2010 12:21

    Published by: Rede on May 28, 2010 12:22
    create or replace procedure emp_proc ( p_test_input in varchar2,
                                                        p_emp_id in number,
                                                        p_emp_name in varchar2 default null,
                                                       p_manager_id in number default null )
    
  • Using the slider as a procedure parameter

    Hello

    I'm new in PL/SQL, but I need to build the procedure and trigger to check for a condition.
    I scoured the web, but I can't find something similar as my problem (maybe that I can not describe it well, or I'm doing something I shouldn't...)

    Well, I am designing a database that will manage the groups. A group can include another, so I need to check that there is no recursion.

    Let's say I have this table INC. where GID is my GroupID and INCLUDES the ID of the groups included in the first.
     GID   INCLUDES
    ---- ----------
      13         12
      13         14
      13         15
      16         11
      16         13
    I have also a subgroups procedure which lists all the groups included in that given:
    CREATE OR REPLACE PROCEDURE subgroups(cur OUT SYS_REFCURSOR, parent_id IN NUMBER)
    IS
    BEGIN
      OPEN cur FOR
        SELECT includes
        FROM inc
          START WITH gid= parent_id
          CONNECT BY PRIOR includes=gid ;
    END ;
    /
    This procedure will also be used in a PHP script, so I would keep independent.
    Now my problem is in this trigger:
    CREATE OR REPLACE TRIGGER t_inc_check_recurs
      BEFORE INSERT OR UPDATE ON inc
      FOR EACH ROW
    DECLARE
      cur SYS_REFCURSOR ;
      --i cur%ROWTYPE ;
      i inc%ROWTYPE;
    BEGIN
      subgroups(cur, :NEW.gid) ;
      LOOP
          FETCH cur INTO i ;
          EXIT WHEN cur%NOTFOUND;
          dbms_output.put_line('Test '||i.includes);
      END LOOP;
      CLOSE cur;
    END ;
    /
    In this case, it seems that I have trouble with the types used:
    SQL> insert into inc values(12,13) ;
    insert into inc values(12,13)
                *
    ERROR at line 1:
    ORA-06504: PL/SQL: Return types of Result Set variables or query do not match
    (1) is there anyone who could tell me how I should send the cursor as a parameter?
    It works fine:
    SQL> var cur refcursor ;
    SQL> exec subgroups(:cur, 13);
    SQL> print cur ;
    (2) do you know how can I declare 'i' in this genre: I heart % ROWTYPE?


    Thank you very much!

    >
    In this case, it seems that I have trouble with the types used:
    >
    No.-you have problems because you're trying to extract a value in a rowtype that requires TWO values

    Your procedure uses a cursor which is only expecting a SINGLE value

      OPEN cur FOR
        SELECT includes
        FROM inc
    

    But your trigger defines a rowtype for the entire line

      i inc%ROWTYPE;
    BEGIN
      subgroups(cur, :NEW.gid) ;
      LOOP
          FETCH cur INTO i ;
    

    And if you get this error
    >
    ORA-06504: PL/SQL: return variables of the game results or the query types do not match
    >
    Also - you can also declare and define a cursor in a package specification, and then use this cursor definition in the procedure and the trigger.

  • Pass an array of bytes to the oracle stored procedure

    I have a problem with moving from byte array in Oracle stored procedure as an input parameter by using odp.net.

    Here is the signature of the stored procedure:

    SOMEPROCEDURE(session IN NUMBER, data IN RAW)

    Here is c# code, which calls the procedure:

    var cmd = new OracleCommand("SOME_PROCEDURE", _connection);

    cmd.CommandType = CommandType.StoredProcedure;

    var bt = new byte[]{1,68,0,83,128,1};

    OracleParameter sessionId = new OracleParameter("dbSessionId", OracleDbType.Decimal, new OracleDecimal(_dbSessionId), ParameterDirection.Input);

    OracleParameter data = new OracleParameter("statusData", OracleDbType.Raw, new OracleBinary(bt), ParameterDirection.Input);

    cmd.Parameters.Add(sessionId);

    cmd.Parameters.Add(data);

    cmd.ExecuteNonQuery();

    This code does not (stored procedure throws exception, which cannot receive), because in byte array hadou number 128!, if I display 128 on another number, minus 128, it works great!

    What should I do?

    After some tests I found the solution. Initially, you cannot switch to the array of bytes via the odp.net stored procedure, if the table contains 127 large values.

    Yes, solution: 1. create the wrapper procedure

    procedure SOME_PROCEDURE_WRAPPER (p_session_id in number, p_data  in varchar2)
     is v_data raw(1024);
     rawdata raw(1024); 
     rawlen number;
     hex varchar2(32760);
     i number;
     begin
      rawlen := length(p_data);
      i := 1;
      while i <= rawlen-1
      loop 
     hex := substrb(p_data,i,2); 
         rawdata := rawdata || HEXTORAW(hex); 
         i := i + 2; end loop; 
         SOME_PROCEDURE(p_session_id , rawdata); 
     end;
    

    2 then need to modify the code c# in this way:

     var cmd = new OracleCommand("SOME_PROCEDURE_WRAPPER", _connection);
     cmd.CommandType = CommandType.StoredProcedure;
     string @string = statusData.ToHexString();
     OracleParameter sessionId = new OracleParameter("dbSessionId", OracleDbType.Decimal, new OracleDecimal(_dbSessionId), ParameterDirection.Input);
     OracleParameter data = new OracleParameter("statusData", OracleDbType.Varchar2,@string.Length, new OracleString(@string), ParameterDirection.Input);
     cmd.Parameters.Add(sessionId);
     cmd.Parameters.Add(data);
     cmd.ExecuteNonQuery();
    

    where

    public static string ToHexString(this byte[] bytes)
     { 
         if(bytes == null || bytes.Length == null)
               return string.Empty;
          StringBuilder hexStringBuilder = new StringBuilder();
          foreach (byte @byte in bytes)
          { 
              hexStringBuilder.Append(@byte.ToString("X2")); 
          } 
          return hexStringBuilder.ToString();
     }
    
  • How to query the DDL lock functions or stored procedures and packages?

    Hello!

    The subject says it all: how to display existing DDL locks on the functions or stored procedures and packages?

    While running a procedure, it cannot be deleted or replaced, so there must be a DDL lock on it. The information does not seem to be in V$ LOCK or V$ LOCKED_OBJECTS.

    Thank you!
    Marcus

    Published by: David on November 21, 2009 15:43

    Hello

    You have the DBA_DDL_LOCKS view.

    Best regards
    Jean Valentine

Maybe you are looking for