Compilation of a stored procedure that is frequently consulted

RDBMS version: 10.2.0.4.0 in a 2 RAC node

Our Production database is 24 x 7. Our development team has made a change in the code of the procedure frequently consulted.
At some point this stored proc is accessible by at least 5 sessions.
I was asked to compile this procedure with the new changes.
Since this is a frequently viewed, I think that the only option I have left to compile this proc is stopped by the DB and launch it using
STARTUP RESTRICT
and then compile it. But, this procedure is actually headed by a DBMS_JOB, so even if I stop, when I restart, the work will resume i.e. that execution of the stored procedure. Right?

I can't knock local listeners because they are listening to an another DB in the cluster.

Is there another better way?

ALTER system set job_queue_processes = 0 will stop the ease of use.

You might also consider to define windows service and stop the practical execution of cowboy.

------------
Sybrand Bakker
Senior Oracle DBA

Tags: Database

Similar Questions

  • Calling an Oracle stored procedure that returns a REF cursor

    Hi guys,.

    I'm calling an Oracle stored procedure that returns a REF CURSOR. Here is the piece of code that I'm working on:

    procedure TC307_MAIN (p_program varchar2, varchar2, varchar2, result_set OUT eng_cur p_engchgno p_project) as
    Start
    IF (p_program = 'Navybased' and p_project = 'PROTECTOR-BUILD') THEN
    result_set: = comments. Tc307_Eng_Chg_Rpt.TC307_RNZN (p_engchgno, result_set = >);
    END IF;
    end TC307_MAIN;

    procedure TC307_RNZN (p_engchgno varchar2, result_set IN OUT eng_cur) as
    Start
    end TC307_RNZN;

    PL/SQL code behind TC307_RNZN is big enough, that's why I've not stuck here. Basically, the second stored procedure executes a PLSQL statement and returns a result set. I need to return the result_set in the main proceedings based on nested else statement which I am still trying to build. I get a compilation... error can someone guide me with the correct method to call the second stored procedure and returning in the main proceedings.

    Thank you very much.

    Rohan,

    Try this

    procedure TC307_MAIN(p_program  varchar2,
                           p_project  varchar2,
                           p_engchgno varchar2,
                           result_set OUT eng_cur) as
      begin
           IF (p_program = 'RNZN' and p_project = 'PROTECTOR-BUILD') THEN
                  -- This is a procedure not a function
                         guest.Tc307_Eng_Chg_Rpt.TC307_RNZN(p_engchgno, result_set); --UR compilation error on this line*
          END IF;
      end TC307_MAIN;
    

    SS
    http://DB-Oracl.blogspot.com

  • Need to query to find stored procedures that takes great execution time

    Hi all

    I use the oracle version below:

    Oracle Database 11 g Release 11.2.0.3.0 - 64 bit Production

    PL/SQL Release 11.2.0.3.0 - Production

    CORE Production 11.2.0.3.0

    AMT for Linux: Version 11.2.0.3.0 - Production

    NLSRTL Version 11.2.0.3.0 - Production

    is it possible to find the name of stored procedure that take too long to run, I need those optimized all SPs.

    Is there a query as top queries that are used to find queries albums that have great time for execution...

    or y at - it another way to find the names of MS. I try with AWR report but showing only used the names of MS.

    Thank you

    No, it not there no such request as far as I know.

    or y at - it another way to find the names of MS.

    Just listen to complaints from the user...

  • How to execute a stored procedure that returns a cursor?

    How to execute a stored procedure that returns a cursor?

    Follow the code:

    CREATE OR REPLACE PROCEDURE stp_cashin_grupo
    (p_func in VARCHAR
    p_cod_grup in full
    p_des_grup in VARCHAR
    p_logi in VARCHAR
    p_curs_rset ON infoc.pck_cashin_grupo.curs_rset
    )
    IS
    BEGIN

    If p_func = "1" then
    OPEN FOR P_curs_rset
    Select
    cod_grup
    des_grup
    dat_manu_grup
    des_logi_manu
    of infoc.tbl_cashin_grupo
    order of des_grup;
    end if;
    END stp_cashin_grupo;


    and packaging:

    CREATE or REPLACE PACKAGE pck_cashin_grupo
    AS
    TYPE curs_rset IS REF CURSOR;
    END pck_cashin_grupo;

    My question is how to execute in sql plus?
    Stp_cashin_grupo EXEC ('1', 0, ", '465990', my doubt is how to move the cursor as return)


    Thank you

    It is described in the manual

    http://download.Oracle.com/docs/CD/B19306_01/server.102/b14357/CH5.htm#sthref1122

  • Warnings of compilation of a stored procedure in NDS (immediate execution);

    CREATE OR REPLACE PROCEDURE P_PRO1 AS
    P_VAR VARCHAR2 (1000): =' CREATE OR REPLACE PROCEDURE PROC1 AS
    X CONSTANT BOOLEAN: = TRUE;
    BEGIN
    IF X THEN
    DBMS_OUTPUT. PUT_LINE('||)
    Q'! 'REAL'!'
    *||'); *
    ON THE OTHER
    DBMS_OUTPUT. PUT_LINE('||)
    Q'! 'FALSE'!'
    *||'); *
    END IF;
    END;';
    BEGIN
    RUN IMMEDIATELY P_VAR;
    END;

    ALTER SESSION SET PLSQL_WARNINGS = ' ENABLE: ALL ';

    Set serveroutput on
    EXECUTE P_PRO1; -(No warning messages)




    I don't have any compilation warnings by running the above query. In fact, the procedure PROC1, which is compiled by "Execute Immediate" should produce the bcz of warning messages all types of warnings are ENABLED through Alter session, but there are no warnings when running the main proceedings and no log of warnings in the table of user_errors also. Whence the PROC1 warning went?

    NDS would only know to run the query given at runtime,
    then the PROC1 procedure is compiled at runtime in the main proceedings P_PRO1 will produce warning or not?
    If so, den how to check that the warning message?


    Thanks for the reply,
    Shafir.

    You create dynimically then you are the person who needs to print the WARNING.

    You can do this by querying the table ALL_ERRORS

    select *
      from all_errors
     where name = 'PROC1'
       and type = 'PROCEDURE'
    
  • How to compile packge inside the procedure that uses this package

    ORACLE 10g, 11g

    CREATE OR REPLACE PACKAGE PKG_TEST_COMMIT
    PROCEDURE Insert_into_table_T1;
    PROCEDURE Update_table_T1;
    END PKG_TEST_COMMIT;

    CREATE OR REPLACE PROCEDURE PROC_TEST_COMMIT as
    Begin
    PKG_TEST_COMMIT. Insert_into_table_T1; -Insert data into table T1
    EXECUTE IMMEDIATE 'DROP table T1;
    IMMEDIATE EXECUTION
    "create table T1 as select"1 ","d"," s "from DUAL;" -now PKG_TEST_COMMIT package at the stage not compiled
    -compile the package
    DBMS_DDL.alter_compile ('PACKAGE', 'OWNER', "PKG_TEST_COMMIT");
    PKG_TEST_COMMIT. Update_into_table_T1;
    End PROC_TEST_COMMIT;

    When I try to run the PKG_TEST_COMMIT I get an error: cannot lock the package.
    I tried to create a separate procedure for compiling, but the result is the same.
    If I'm done PROC_TEST_COMMIT before compiling, then compile - OK.

    It's a way to compile the package inside the procedure?

    TRUNCATE and INSERT / * + APPEND * / should be more effective than deleting them and recreating a table wouldn't it because you don't have to worry about the invalidation and recompilation of all dependent objects.

    Justin

  • Re-compile a package in a stored procedure

    Hi all
    We are using Oracle 10 g. I coded a stored procedure that does a lot of things which is re - create a materialized using the dynamic SQL view. However, when this materialized view is created, a package that this stored procedure must, becomes invalid. What is the syntax to recompile the package using the dynamic SQL? I tried something like script below, but I'm getting ' * ORA-24344: success with compilation error * "error message. I would like to re - build the package until it is used in this stored procedure.

    DECLARE
          v_sql         VARCHAR2 (1000);
          object_name   VARCHAR2 (50) := 'TEST.PS2_FNS366';
    BEGIN
           dbms_output.put_line('This is a test.');
           v_sql := 'Alter package ' || object_name || ' compile  package';
           dbms_output.put_line (v_sql);
           EXECUTE IMMEDIATE v_sql;
         
           v_sql := 'Alter package ' || object_name || ' compile  body';
           dbms_output.put_line (v_sql);
           EXECUTE IMMEDIATE v_sql;      
                  
    END;
    Thank you


    Seyed

    Normally, this means that STUDENT. V_BEN_REG_CASE_NUMBER references objects (tables and views) that has received the STUDENT SELECT on, but not with the WITH GRANT option. If this is the case, STUDENT may not grant other users access to this data.

    If STUDENT. V_BEN_REG_CASE_NUMBER refers to tables A, B and C belonged to another user U, U have to

    GRANT SELECT ON u.a TO student WITH GRANT OPTION;
    GRANT SELECT ON u.b TO student WITH GRANT OPTION;
    GRANT SELECT ON u.c TO student WITH GRANT OPTION;
    

    If the STUDENT has these privileges, it will be able to grant access to his point of view V_BEN_REG_CASE_NUMBER other users.

    Justin

  • Unexpected token: the error that occur inside a stored procedure

    I get an unexpected token error when you try to compile the following stored procedure. The error occurs on the run pk_proof.pr_ProofAssets inside the stored procedure exec statement. No reason?
    CREATE OR REPLACE PROCEDURE MONTHLY_ASSET (ln_business_dt_num IN NUMBER DEFAULT NULL,
                                               missing_tbl_name OUT NOCOPY VARCHAR2) 
    IS
       ln_business_dt_num NUMBER;
       missing_tbl_name VARCHAR2;
       no_tbl_name_found EXCEPTION;
       bad_date_value EXCEPTION;
       counts_not_matched EXCEPTION;
     BEGIN
       IF ln_business_dt_num < 0 THEN
       RAISE bad_date_value;
       ELSE
         Select MAX(business_dt_num) into ln_business_dt_num
         FROM sasor.dp_ca_proof;
          
       if missing_tbl_name IS NOT NULL then
          raise no_tbl_name_found;
       end if;
       
       exec pk_proof.pr_ProofAssets('SLH_DST_ASSET', ln_business_dt_num, 'sasor_batch');
     

    Remove 'exec '.

  • Double games of results returned on stored procedure call

    Hello

    I have a stored procedure created Java and called using the Spring JDBC using StoredProcedure class, stored procedure returns duplicate rows, is this a known problem?

    When I run the stored procedure even in DBVizualiser it not show correctly.

    The class below is used to execute the stored procedure:

    public class CustomerSearchProcedureRunner extends StoredProcedure {
     public CustomerSearchProcedureRunner(JdbcTemplate jdbcTemplate) {
      super();
      this.setJdbcTemplate(jdbcTemplate);
      this.declareParameter(new SqlReturnResultSet(RETURN_RESULTS, new CustomerRowMapper()));
      this.declareParameter(new SqlParameter(CUST_SP_IN_PARAM, Types.VARCHAR));
      this.setSql("{CALL INSURANCE.SEARCHCUSTOMER (?) ON ALL}");
      this.setSqlReadyForUse(true);
      this.compile();
     }
    }
    


    and Java Stored Procedure that runs SQLFire is given below:

    public class CustomerSearchProcedure {
     
     private static final String DOLLAR = "\\$";
     private static final String COLON = ":";
     private static final String CUST_NAME = "CUST_NAME";
     private static final String CUST_NO = "CUST_NO";
     private static final String GENDER = "GENDER";
     
     
     public static void searchCustomer (String customers, ResultSet[] outResults,
       ProcedureExecutionContext context) throws SQLException {
      StringBuilder sql = new StringBuilder();
      StringBuilder whereCondt = new StringBuilder();
      String[] tokens = new String[]{};
      
      if (customers != null && customers.trim().length() > 0) {
       tokens = customers.split(DOLLAR);
      }
      
      sql.append("<global>SELECT * FROM INSURANCE.CUSTOMERS ");
      whereCondt.append("WHERE CUST_PRIMARY IN ('Y', 'N') ");
      // Apply dynamic where condt
      for (int i=0; i < tokens.length; i++ ) {
       String token = tokens[i];
       if (token.startsWith(CUST_NO)) {
        if (whereCondt.length() > 0) {
         whereCondt.append(" AND ");
        }
        whereCondt.append("CUST_NO = " + token.substring(token.indexOf(COLON)+1));
       }
       if (token.startsWith(CUST_NAME))  {
        if (whereCondt.length() > 0) {
         whereCondt.append(" AND ");
        }
        whereCondt.append("CUST_NAME LIKE '"+ token.substring(token.indexOf(COLON)+1).trim() + "%'");
       }
       if (token.startsWith(GENDER)) {
        if (whereCondt.length() > 0) {
         whereCondt.append(" AND ");
        }
        whereCondt.append("GENDER ='"+ token.substring(token.indexOf(COLON)+1).trim() + "'");
       }
      } //End of for
      
      if (whereCondt.length() > 0) {
       sql.append(whereCondt.toString());
      }
      
      Connection cxn = context.getConnection();
      Statement stmt = cxn.createStatement();
      ResultSet rs = stmt.executeQuery(sql.toString());
      outResults[0] = rs;
     } //END OF METHOD
    }
    

    A correction preceding: "for the case on the information in the TABLE of the DataSet to be targeted on each node is also sent for the tag requests will target only this dataset (and avoids duplicates).»

    should read "in the case of on TABLE query Tags will only target the local primary data on the node for tables partitioned, while for replicated tables, it is sent to only one of the lines (and so avoids duplicates in both cases).» WHERE clause to TABLE is not used for cutting data only for the size of the set of nodes to the target.

    The tag prunes yet the query to all of the local primary buckets in all cases (i.e. which WE ALL and on GROUPS of SERVERS) so the comment about and equivalent was incorrect. However, this will always be looking for data in duplicate for replicated tables and TABLE is the only way to avoid it for now.

  • Delete records from sys.aud$ stored procedure

    We have a stored procedure that attempts to move the records from the table of sys.aud$ to a history table (in order to keep sys.aud$ to a more reasonable size, I guess - full disclosure, I have not written this proc). Base flow is:
    Select count (*) in the number of lines of sys.aud$
    If {(rowcount > 1000)
    copy all rows in sys.aud$ in the history table
    remove from sys.aud$
    }

    I says this proc used to work perfectly in a troubled past (I'm new on the client) but now has not worked for a while. When we try to compile the proc, we get the error
    "table or view does not exist", and the line is the "deletion of sys.aud$. The line "select count (*) from sys.aud$ ' seems to cause no problems, but the proc does not compile as is. If I comment out the line "remove from sys.aud$", however, the proc compiles very well.

    Confusingly, if I log in as the same account that owns this proc, I can run both the count (*) select from sys.aud$ AND remove clauses sys.aud$ with no complaint at all (by modifying slightly to work with 1 single record at a time, of course), but I can't seem the same to compile in a stored proc.

    I guess that it is related permissions? Can someone point me to the permissions of the owner needs to be able to remove from sys.aud$ in a stored procedure? Or is there something else that needs to be done here? Pointers much appreciated.

    Thank you.

    956928 wrote:
    We have a stored procedure that attempts to move the records from the table of sys.aud$ to a history table (in order to keep sys.aud$ to a more reasonable size, I guess - full disclosure, I have not written this proc). Base flow is:
    Select count (*) in the number of lines of sys.aud$
    If (rowcount 1000 >) {}
    copy all rows in sys.aud$ in the history table
    remove from sys.aud$
    }

    I says this proc used to work perfectly in a troubled past (I'm new on the client) but now has not worked for a while. When we try to compile the proc, we get the error
    "table or view does not exist", and the line is the "deletion of sys.aud$. The line "select count (*) from sys.aud$ ' seems to cause no problems, but the proc does not compile as is. If I comment out the line "remove from sys.aud$", however, the proc compiles very well.

    Confusingly, if I log in as the same account that owns this proc, I can run both the count (*) select from sys.aud$ AND remove clauses sys.aud$ with no complaint at all (by modifying slightly to work with 1 single record at a time, of course), but I can't seem the same to compile in a stored proc.

    I guess that it is related permissions? Can someone point me to the permissions of the owner needs to be able to remove from sys.aud$ in a stored procedure? Or is there something else that needs to be done here? Pointers much appreciated.

    Thank you.

    acquired through ROLE privileges are NOT applicable within the named PL/SQL procedures.

    GRANT DELETE ON SYS. AUD$ ;

  • stored procedures, newbie question

    I am at the point with my Web site where I need to think about the optimization of the query and have started looking at stored procedures for the first time.

    1. am I right in thinking the benefit of the execution of stored procedures is that it is a pre-compiled query?

    2. I'm trying to use the query cache as my 'normal' queries go, but is it possible to cache the results of a stored procedure?

    In practice, using 1 & 2 would provide a significant increase in performance.

    Personally, I use it only for large heavy updates or deletions. For example, I have an Oracle package with a bunch of procedures that run when a person completes an order - this process involves many tables, deletions, updates and a relatively simple logic. I think that the ideal candidate for a stored procedure.

    I use CF as an alternative if, for example, I have to repeat a load of complex business logic in a stored procedure that I have already written in a CFC.

    Keep in mind the benefits of a stored procedure - basically precompiled code. Don't forget that if you are using well trained cfqueries with cfqueryparams, execution plan gets compiled to the top in the first round * anyway *, so if you call a stored procedure or run your query really there is no difference.

    And Yes - do not underestimate the additional time it takes for a developer to do everything in the stored procedures rather than ColdFusion, they don't call it rapid development of applications for anything

    Don't forget as well as someone can write a stored procedure to poorly coded as well as they can write a wrong encoded query. At least if the developer has its application in front of him, he can see instantly what he needs of the index and locate errors, you could go years before realizing a person made a mistake inside a stored procedure, as no one can see the code.

    Regarding security Yes - if you really want to limit security then sprocs will do that for you. However in most of the applications I've seen the right developer has the possibility to write a query, as they see fit.

    Once I use stored procedures while I think of it - if you have more than one application that needs to do the same thing: this should * definitely * be a stored procedure.

    Basically, the same rules apply to them as any other aspect of programming; security of the duplication of code, efficiency, ease of maintenance - it's all a matter of their maximum weight and decide what is best.

  • Select problem with a statement in the stored procedure oracle

    Hi guys,.

    I am new to oracle. I have a simple sql stored procedure that needs to be converted to oracle. The procedure is,

    CREATE PROCEDURE my_procedure
    Char (4) @my_var = null
    AS

    Select * from my_table where my_variable = @my_var

    I converted this SP as oracle and the convert SP is,

    create or replace
    My_procedure PROCEDURE
    (
    v_my_var in CHAR DEFAULT NULL
    )
    AS

    BEGIN

    SELECT * FROM my_table WHERE my_variable = v_my_var;

    END;

    But the SP above returns an error (Error (13.3): PLS-00428: an INTO clause in the following SELECT statement) when compiling.

    So I used the slider to get the results and send back them. Updated the SP is,

    create or replace
    My_procedure PROCEDURE
    (
    v_my_var in CHAR NULL by DEFAULT,
    cv_1 ON SYS_REFCURSOR
    )
    AS

    BEGIN

    OPEN cv_1 to SELECT * FROM my_table WHERE my_variable = v_my_var;

    END;

    Now, the SP is compiled successfully and return the result set correctly. My doubt is,
    What is the right way to solve the problem that I mentioned above? Is there another way to get the select query result without using a cursor?

    Please advice. Thank you for your help in advance.

    RAM

    Depends on where you are calling from SP.
    I assume you are using a windows client, as you referred to SQL Server.
    The .NET Oracle provider, allowing return of pl/sql types and as you return only all columns in a single line, you could change your procedure to something like this:

    create or replace procedure my_procedure(v_my_var in  char default null
                                            ,cv_1     OUT my_Table%rowtype) as
    
      rt my_table%rowtype;
    begin
    
      SELECT *
      into   rt
      FROM my_table
      WHERE my_var = v_my_var;
    
      cv_1 := rt;
    
    END my_Procedure;
    /
    
  • Run the statement in a stored procedure with Out parameters and

    Hi all

    I have a stored procedure that calls a select statement. Here it is...

    CREATE OR REPLACE PROCEDURE BLABLA_VIEW_PROCEDURE

    * (BLABLA_KEY IN NUMBER, *)
    XML_OUTPUT ON VARCHAR)
    AS
    BEGIN
    SELECT SYS. XMLTYPE.getStringVal (OBJECT_VALUE) in XML_OUTPUT FROM BLABLA_VIEW WHERE extractValue (OBJECT_VALUE, ' / BLABLA_TYPE/BLABLA_KEY ') = 2876;
    END;

    Is to have both IN and OUT parameters as described above. I am able to compile and run the procedure.

    The problem I want to share with everyone is...
    I want to run the stored procedure together with a single EXEC command.

    I tried different ways using the EXEC command but of no use.

    Could someone help me?
    Thanks in advance.

    Published by: user10763276 on June 3, 2010 15:47

    Please visit the following...

    sudhakar@ORCL>CREATE OR REPLACE PROCEDURE BLABLA_VIEW_PROCEDURE
      2  (BLABLA_KEY IN NUMBER,
      3  XML_OUTPUT OUT VARCHAR)
      4  AS
      5  BEGIN
      6  XML_OUTPUT := BLABLA_KEY || ' and whatever else...';
      7  END;
      8  /
    
    Procedure created.
    
    sudhakar@ORCL>
    sudhakar@ORCL>var XML_OUTPPUT varchar2(100);
    sudhakar@ORCL>exec BLABLA_VIEW_PROCEDURE (9151, :XML_OUTPPUT);
    
    PL/SQL procedure successfully completed.
    
    sudhakar@ORCL>print XML_OUTPPUT;
    
    XML_OUTPPUT
    --------------------------------------------------------------------------------
    9151 and whatever else...
    
    sudhakar@ORCL>
    

    Post tells you...

    var OUTPUT VARCHAR
    exec BLABLA_VIEW_PROCEDURE (9151, :OUTPUT);
    print OUTPUT
    

    VARCHAR is not a valid TYPe to declare. Use VARCHAR2 (nnn) where nnn is a number.
    VR,
    Sudhakar B.

  • simple stored procedure

    Hello

    I'm new to stored procedures. I am trying to write a stored procedure that returns only the result of a statement select.

    I wrote the below without compilation error:
    create or replace procedure test_select
    (number, x y out varchar2) is
    Start
    Select isbn in x from books where isbn = y;
    end test_select;
    /

    When I call the procedure, I get an error:
    SQL > call the test_select (2);
    call the test_select (2)
    *
    ERROR on line 1:
    ORA-06553: PLS-306: wrong number or types of arguments in the call to 'TEST_SELECT '.

    Here is a description of the table 'books ':
    TITLE VARCHAR2 (60)
    AUTHOR VARCHAR2 (60)
    ISBN NOT NULL NUMBER (10)
    PUB_DATE DATE

    Thanks in advance,
    Justine.

    Hi Justine,.

    you stated a procedure with two parameters and you call it from a single (no matter that the second is RELEASED, you must pass it as well)

    The simplest approach would be to use a function instead:

    create or replace function test_select (number of y) return varchar2 is
    x varchar2 (20);
    Start
    Select isbn in x from books where isbn = y;
    Return x;
    end test_select;

    and try out it:
    Select test_select (2) double

  • Using the stored procedure: Source does not have a target executable

    I'm a guy from MS - SQL, so I'm fairly familiar with T - SQL syntax, but feels a heck of a time trying to take the code I wrote for SQL and turn this works with Oracle.

    in any case, I'm using Oracle SQL Developer, and I have a stored procedure that calls the Alter Table statement and adds a column. Just trying to get this one to work before moving on to the other that I have. I get the message that source does not have a target executable when I try to run this command.

    create or replace PROCEDURE rta_conv_addcolumn (rtatablename1 in varchar (20),)
    rtatablename2 in varchar (20),
    rtacolumnname in varchar (256),
    rtacolumninfo in varchar (256))
    AS
    DECLARE rtasql VARCHAR (4000);
    BEGIN
    IF EXISTS (SELECT * from user_tables WHERE table_name = rtatablename1)
    AND NOT EXISTS (SELECT * from user_tab_columns WHERE column_name = rtacolumnname)
    AND table_name = rtatablename1)
    AND NOT EXISTS (SELECT * from user_tab_columns WHERE column_name = rtacolumnname)
    AND table_name = rtatablename2)
    Then rtasql: = ' ALTER TABLE ["+ rtatablename2 +"] ADD "+ rtacolumnname +" "+ rtacolumninfo;
    Run (rtasql);
    END rta_conv_addcolumn;

    If I try to compile I get the following messages, which make no sense, since the syntax I use to declare the input variables seems to be good.

    Error (1.54): PLS-00103: encountered the symbol "(" quand attend une deles de valeurs suivantes:: =.), @ default % of the characters of the symbol ': = ' has been replaced by "(" pour continuer.)
    Error (2.29): PLS-00103: encountered the symbol "(" quand attend une deles de valeurs suivantes:: =.), @ default % of the characters of the symbol ': = ' has been replaced by "(" pour continuer.)
    Error (3.29): PLS-00103: encountered the symbol "(" quand attend une deles de valeurs suivantes:: =.), @ default % of the characters of the symbol ': = ' has been replaced by "(" pour continuer.)
    Error (4.29): PLS-00103: encountered the symbol "(" quand attend une deles de valeurs suivantes:: =.), @ default % of the characters of the symbol ': = ' has been replaced by "(" pour continuer.)
    Error (6.1): PLS-00103: encountered the symbol "DECLARE" when expecting one of the following: begin function package pragma procedure < an ID > subtype type use < a between double quote delimited identifiers of > form current cursor external language the symbol 'start' is substituted for 'SAID' continue.
    Error (15.5): PLS-00103: encountered the symbol "RTA_CONV_ADDCOLUMN" when expects it one of the following values: If

    Adds the column to the table specified in rtatablename1, if there is neither rtatablename1 nor rtatablename2.

    NOT TESTED

    create or replace PROCEDURE rta_conv_addcolumn(rtatablename1 in varchar,
    rtatablename2 in varchar,
    rtacolumnname in varchar,
    rtacolumninfo in varchar)
    AS
    rtasql VARCHAR(4000);
    count1 number;
    count2 number;
    count3 number;
    BEGIN
      SELECT count(*) into count1 FROM user_tables WHERE table_name = rtatablename1;
      SELECT count(*) into count2 FROM user_tab_columns WHERE column_name = rtacolumnname AND table_name = rtatablename1;
      SELECT count(*) into count3 FROM user_tab_columns WHERE column_name = rtacolumnname AND table_name = rtatablename2;
      IF count1>0 AND count2 = 0 AND count3=0 Then
        rtasql:= 'ALTER TABLE '|| rtatablename1 ||'ADD ' || rtacolumnname || ' ' || rtacolumninfo;
        Execute immediate rtasql;
      END IF;
    END rta_conv_addcolumn;
    /
    

    Max

    Published by: Massimo Ruocchio, December 12, 2009 02:15
    Missing AND

Maybe you are looking for

  • Dell U2715H monitor does not

    Should what cable I plug the Dell monitor on end of 2013 Macbook Pro? I have only two connections thunderbolt and a HDMI. Thank you

  • How can I reinstall the virtual bus driver (cmz vmkd)

    How can I reinstall the virtual bus driver (cmz vmkd)

  • POSIX Message queues

    Hi all I was looking for how to use POSIX Message queues. According to the QNX reference, I started using mq_ * [mq_open, mq_send, mq_receive...]. But looks like I'm not something more which is always mq_open head not to say "FUNCTION NOT IMPLEMENTED

  • How to call jspx servelte

    Hi allI have a requirement that I have to call the servlet to jspx i.e < af:resource > tagfor this I created(1) merger web application I recorded a servlet a web.xml file.(2) in jspx to af:resource, I wrote jspx.<script>  $.get('myservlet', function(

  • What is the cost of upgrade to Photoshop elements 14 11?

    I need to upgrade to photoshop elements 14 11 8 computers.  What is the cost per computer to download?