Changing table via the package with immediate execution (problem)

Hello

I have a unusual problem. I have a package that contains the procedure that via execute immediate statement, creates a table on which he performs different actions for example:

-alter table some_owner.dummy_table noparallel

-create index some_owner.idx_name on some_owner.dummy_table (column)...

But I only managed to run move and create synonym table/public via execute immediate statement. Actions as alter table and create index fails with error ORA-01031: insufficient privileges.

Note If call these commands outside the package (a simple script) this all done OK.

I found a way, where I set the AUTHID CURRENT_USER command create package statement. In this way all the actions executed OK.

I wonder why I can't change the table via the package with immediate execution on a table that is in the tablespace "SOME_TABLESPACE" and the title of owner "SOME_OWNER", without putting the AUTHID command on the package.

There must be a problem why a package cannot change the table which is owned by the user 'SOME_OWNER '.

All useful responses would be appreciated.

I have a unusual problem.

No - you don't have. This question has been answered SEVERAL times on this forum and others.

But I only managed to run move and create synonym table/public via execute immediate statement. Actions as alter table and create index fails with error ORA-01031: insufficient privileges.

OK - your username doesn't have privileges to do these operations or only received privileges through roles.

Roles are DISABLED in named PL/SQL blocks that use of the AUTHOR's rights.

Note If call these commands outside the package (a simple script) this all done OK.

I found a way, where I set the AUTHID CURRENT_USER command create package statement. In this way all the actions executed OK.

Of course - the roles are NOT disabled in named PL/SQL blocks that use the rights of the APPELLANT or in anonymous blocks.

I wonder why I can't change the table via the package with immediate execution on a table that is in the tablespace "SOME_TABLESPACE" and the title of owner "SOME_OWNER", without putting the AUTHID command on the package.

Well now you know!

Tags: Database

Similar Questions

  • I have a printer HP (part of the package with the computer) which will connect via the USB port is no longer in my office. He has worked previously so, any ideas on how I can get it to work again?

    While I do not know there have been changes to the system (updates and so on), I don't know what modifications have been made or that one; If any, may be the cause of the problem. Compound that with, I can't get back far enough to get to the last time that I used this printer with this computer and it is a puzzle all around.

    Let me know what additional information as appropriate, you need, maybe the way to collect (if it is not something that I already know how to do) and we'll see if we can get these papers start college again.
    System: HP p6604y Windows 7 Home Premium 64-bit
    Processor: AMD Athlon II X 2 220 processor 2.80 GHz
    6,00 GB (5.75 GB usable) memory
    The printer is HP Deskjet 3000 J310.

    Hi Michael,

    1. What is the error you get all trying to connect to the printer?

    2. the printer works properly when connected to another computer?

    3 is. the computer able to recognize any other usb device?

    Follow these methods.

    Method 1.

    This tutorial is designed to help you identify and fix common printer problems in Windows, including print errors, print spooler errors, and other issues that could prevent you from printing.

    Solve printer problems: http://windows.microsoft.com/en-us/windows/printer-problems-in-windows-help#fix-printer-problems=windows-7&v1h=win8tab1&v2h=win7tab1&v3h=winvistatab1&v4h=winxptab1

    Method 2.

    Why can I not print? : http://windows.microsoft.com/en-us/windows7/why-cant-i-print

    Additional information.

    Find and install printer drivers in Windows 7: http://windows.microsoft.com/en-us/windows7/find-and-install-printer-drivers

    Install a printer: http://windows.microsoft.com/en-us/windows7/install-a-printer

    Let us know if you need assistance with any Windows problem. We will be happy to help you.

  • Procedure failed with ORA-01403, associated with immediate execution, captured

    This procedure compiles without error. Its purpose is to copy the sequence of one schema to another object. After it failed with ORA-01403, I added exception code of capture (see the comments in the code).

    A few notes:

    1. I started the proceedings with exec copy_sequence ('ADDRESS_SEQ', 'SST', 'TEST1');

    2. the first sql string is built correctly since I can see in the console output:

    Select last_number in the all_sequences where sequence_owner = upper('TSS') and upper('ADDRESS_SEQ') = sequence_name

    I can run this SQL command, and returns a real value;

    Here is the procedure

    SET SERVEROUTPUT ON;

    create or replace procedure copy_sequence (seq VARCHAR2, prod_schema VARCHAR2, VARCHAR2 test_schema)

    as

    Val number (21);

    s_sql varchar2 (200);

    Start

    s_sql: = ' select last_number in the all_sequences where sequence_owner = upper('''|| prod_schema ||'') ') and sequence_name = upper('''||) Seq | " ')';

    -immediate' select last_number in the Vale of all_sequences where sequence_owner = upper('''|| prod_schema ||'') ') and sequence_name = upper('''||) Seq | " ')';

    Dbms_output.put_line ('sql 1 ' | s_sql);

    execute immediate s_sql in val;  ---!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! The code does not work here!

    Dbms_output.put_line ('val' |) Val);

    s_sql: = 'delete the sequence'. test_schema |'. ' || FF.;

    Dbms_output.put_line ('sql 2 ' | s_sql);

    -execution immediate s_sql;

    s_sql: = 'create the sequence'. test_schema |'. ' || Seq |' minvalue maxvalue 1 999999999999999999999 begin by ' | Val | 'increment of 1';

    Dbms_output.put_line ('sql 3 ' | s_sql);

    -execution immediate s_sql;

    -Add the following after procedure thown ORA-01403: no data found

    exception when TOO_MANY_ROWS then DBMS_OUTPUT.put_line ('TOO_MANY_ROWS error');

    When NO_DATA_FOUND then DBMS_OUTPUT.put_line ('error NO_DATA_FOUND');

    While some other then raise_application_error (-20011, "Unknown Exception in this procedure");

    end;

    /

    Hoek wrote:

    The user (no SYSTEM, SYS, and SYSTEM are special, you should not use them unless you have TO) execution of the procedure must have the necessary privileges granted directly, bypassing a role...

    ??? There is nothing special about SYS or SYSTEM in what concerns them stored procedures. SYS by default is granted directly SELECT ANY SEQUENCE, so it does not work for the owner of MS by SYS. SYSTEM is therefore not:

    Scott@pdborcl12 > create sequence s;

    Order of creation.

    Scott@pdborcl12 > create or replace
    2 procedure system.p1
    3 is
    number of v_last_value 4;
    5. start
    6. Select last_number
    7 in v_last_value
    8 of all_sequences
    9 where sequence_owner = 'SCOTT '.
    10 and s = sequence_name ';
    11 end;
    12.

    Created procedure.

    Scott@pdborcl12 > system.p1 exec.
    BEGIN system.p1; END;

    *
    ERROR on line 1:
    ORA-01403: no data found
    ORA-06512: at "SYSTEM. "P1", line 5
    ORA-06512: at line 1

    Scott@pdborcl12 > grant select on s to the system;

    Grant succeeded.

    Scott@pdborcl12 > system.p1 exec.

    PL/SQL procedure successfully completed.

    Scott@pdborcl12 >

    SY.

  • Function in pipeline with immediate execution

    Hello Experts,

    I created a tube lined function to run immediately, cause of sub condition;
    (1) columns where clause dynamically.
    (2) I want to know the data stored in above the dynamic columns.
    (3) I want to use in the report, so I don't want to insert it into a table.

    I have created a TYPE, then thanks to run immediately, I got the query and the result of this query will be stored in the TYPE.
    But when you call the function I get
    ORA-00932: inconsistent data types: expected - was -.

    Below is my function and type, let me know I am wrong and it is my correct logic.
    CREATE OR REPLACE TYPE OBJ_FPD AS OBJECT
                      (LOW_PLAN_NO VARCHAR2 (40),
                       FPD VARCHAR2 (5),
                       SERIAL_NO NUMBER,
                       CEDIA_CODE VARCHAR2 (2),
                       DT DATE);
    ----                                      
    CREATE OR REPLACE TYPE FPD_TBL_TYPE AS TABLE OF OBJ_FPD;
    ----
    CREATE OR REPLACE FUNCTION FUNC_GET_FPD_DATE (P_LOW_PLAN_NO    VARCHAR2,
                                                  P_CEDIA_CODE     VARCHAR2,
                                                  P_SERIAL_NO      NUMBER)
       RETURN FPD_TBL_TYPE
       PIPELINED
    AS
       CURSOR C1
       IS
              SELECT 'FPD' || LEVEL TBL_COL
                FROM DUAL
          CONNECT BY LEVEL <= 31;
    
       V_STR        VARCHAR2 (5000);
    
       V_TBL_TYPE   FPD_TBL_TYPE;
    BEGIN
       FOR X IN C1
       LOOP
          V_STR :=
                'SELECT A.low_PLAN_NO,
               A.FPD,
               A.SERIAL_NO,
               A.cedia_code,
               TO_DATE (
                     SUBSTR (FPD, 4, 5)
                  || ''/''
                  || TO_CHAR (C.low_PLAN_PERIOD_FROM, ''MM'')
                  || ''/''
                  || TO_CHAR (C.low_PLAN_PERIOD_FROM, ''RRRR''),
                  ''DD/MM/RRRR'')
                  DT FROM ( SELECT low_PLAN_NO, '
             || ''''
             || X.TBL_COL
             || ''''
             || ' FPD, '
             || X.TBL_COL
             || ' SPTS, SERIAL_NO, cedia_code FROM M_low_PLAN_DETAILS WHERE NVL('
             || X.TBL_COL
             || ',0) > 0 AND SERIAL_NO = '
             || P_SERIAL_NO
             || ' AND cedia_code = '
             || ''''
             || P_CEDIA_CODE
             || ''''
             || ' AND low_PLAN_NO = '
             || ''''
             || P_LOW_PLAN_NO
             || ''''
             || ') A,
               M_low_PLAN_DETAILS B,
               M_low_PLAN_MSTR C
         WHERE     A.low_PLAN_NO = B.low_PLAN_NO
               AND A.cedia_code = B.cedia_code
               AND A.SERIAL_NO = B.SERIAL_NO
               AND B.low_PLAN_NO = C.low_PLAN_NO
               AND B.CLIENT_CODE = C.CLIENT_CODE
               AND B.VARIANT_CODE = C.VARIANT_CODE
    CONNECT BY LEVEL <= SPTS';
    
          EXECUTE IMMEDIATE V_STR INTO V_TBL_TYPE;
    
          FOR I IN 1 .. V_TBL_TYPE.COUNT
          LOOP
             PIPE ROW (OBJ_FPD (V_TBL_TYPE (I).LOW_PLAN_NO,
                                V_TBL_TYPE (I).FPD,
                                V_TBL_TYPE (I).SERIAL_NO,
                                V_TBL_TYPE (I).CEDIA_CODE,
                                V_TBL_TYPE (I).DT));
          END LOOP;
       END LOOP;
    
       RETURN;
    EXCEPTION
       WHEN OTHERS
       THEN
          RAISE_APPLICATION_ERROR (-20000, SQLCODE || ' ' || SQLERRM);
          RAISE;
    END;
    Waiting for your point of view.

    Kind regards

    ORA Ash wrote:
    This result is coming as FPD4 has 2 as a value, then there will be two records to the result with column date (DT).
    Your query is perfect only thing is that I have to go to connect the name of the column immediately above as below;

    AND FPD = 'FPD14'
    CONNECT BY LEVEL <= SPTS;
    

    So, if possible, please let me know is there a better way to spend the column name, to get the correct data.

    Well, we don't have any example for working with information and the expected results of these data in the example, then it is very difficult for us to understand exactly what is affected by the query.

    What happens if you delete the connection by clause? Why must you connect him by clause in your query? It is not clear what you include that for (like I said).

  • Import database using 11 g is important all the packages with debugging information

    We are modernizing our database from 9i to 11g using imp/exp. The problem we see is that all packages/procedureas/functions are imported with debug information.
    It seems that imp utility changes import session to set PLSQL_DEBUG = TRUE. On the 9i database, objects are not compiled with debugging information, and we do a full import with parameters FULL = O and IGNORE = N.

    We found no information about this behaviour anywhere while we ask this is the default behavior, can it be changed so that the imported objects are not compiled with debug information and if not, what is the better and more effective way to drop all debug information on objects that have? We hoped to use DBMS_UTILITY.COMPILE_SCHEMA, but it recompiles objects preserve debug information on the objects that had them before running the command. We can EDIT the PACKAGE COMPILER on all packaging and it will solve our problem, but it will take a lot of time to recompile all our objects from our database is very large.

    Hello

    I just did a test of my own. Here's what I did:

    Database without active debugging:

    create or replace function scott.foo (in number) return number is
    Start
    return 10;
    end;
    /

    has ran exp then looked the dumpfile. That's what I saw:

    ALTER SESSION SET "_LOAD_WITHOUT_COMPILE" = PLSQL
    FORMAT71 CREATE FUNCTION 'FOO' bunch of non ascii here
    ALTER SESSION SET '_LOAD_WITHOUT_COMPILE' = NONE
    ALTER FUNCTION 'FOO' COMPILATION REUSE SETTINGS TIMESTAMP ' 2010 - 03 - 16:10:31:03'

    This resembles the exp has detected that the debug flag is not set and the function exported and recompiled it reset the compile time for the same time of the compilation of the source database.

    Then I did:

    ALTER session set plsql_debug = true;
    create or replace function scott.foo2 (in number) return number is
    Start
    return 10;
    end;
    /

    At this point, function foo was built without debug and function foo2 was build debug.

    I ran exp again and looked in the dumpfile. That's what I saw:

    ALTER SESSION SET "_LOAD_WITHOUT_COMPILE" = PLSQL
    ALTER SESSION SET NLS_LENGTH_SEMANTICS = 'BYTE' PLSQL_CODE_TYPE = 2 = PLSQL_OPTIMIZE_LEVEL "INTERPRETED" PLSQL_DEBUG = TRUE PLSQL_WARNINGS = "DISABLE: ALL" PLSQL_CCFLAGS = "
    CREATE FORMAT71 FUNCTION 'FOO2' - of the bunch of non ascii here
    CREATE FORMAT71 FUNCTION 'FOO' - lots of non ascii here
    ALTER SESSION SET '_LOAD_WITHOUT_COMPILE' = NONE
    ALTER FUNCTION 'FOO2' COMPILATION REUSE SETTINGS TIMESTAMP ' 2010 - 03 - 16:10:35:46'
    ALTER FUNCTION 'FOO' COMPILATION REUSE SETTINGS TIMESTAMP ' 2010 - 03 - 16:10:31:03'

    In this case, it seems that these two functions will be built with active debugging. I don't know what is happening in your case. You can contact the Oracle Support to see if they know about this problem and if they know of a work-around.

    Good luck

    Dean

  • Question on the long table inside the panelTabbed with the position of the tab = 'left '.

    12.1.3 jdev

    I have a few large tables inside the af af:showDetailItem: panelTabbed. My panelTabbed has the left position. In this case, I don't see the horizontal scroll bar under my long tables. The horizontal scroll bar is on the tab all.

    But if I have the position of the panelTabbed as noted above, I see the horizontal scroll bar under each long tables.

    Is this behavior as expected or something I was wrong to do that?

    Thank you.

    Finally, I figured out how to make the design that I desired using all these elements of page layout. The design requirement is to have tabs on the left side, see the vertical scroll bar if the content of the tab is too long and display the horizontal scroll bar if the table has too many columns.

    I have panelGroupLayout with layout of scroll inside panelTabbed showDetailItem, have all my panelBoxes w tables inside this panelGroupLayout. In this way I am able to get the vertical scroll bar when the contents of the table have too many lines.

    By removing the facet ceter of panelStretchLayout panelGroupLayout and having the region inside the facet Center directly, each layer of extendable any inherent layout. I am able to get the horizontal scroll bar below each long table inside panelBox.

    It is important to know how to layout components layer.

    Thank you.

  • Copy columns from one Table to the other with PL/SQL in Apex

    So my goal long-term is to throw this PL/SQL statement in a trial DMBS_SCHEDULER Apex 4.1 to create historical snapshots of the data a week but I'm hooked on this code:

    declare
    V_DEKIT_ID varchar (255);
    V_NT varchar (255);
    Number to resume;
    Date of V_DDATE;

    Start
    for DEKIT_ID in (select * from DKT_HIST)

    loop

    Select DEKIT. DEKIT_ID in V_DEKIT_ID of DEKIT;
    Select DEKIT. NT in DEKIT V_NT;
    Select DEKIT. QUANTITY back of DEKIT;
    Select CURRENT_DATE in double V_DDATE;

    insert into DKT_HIST (DEKIT_ID, NT, QUANTITY, DDATE)
    values (V_DEKIT_ID, V_NT, V_QUANTITY, V_DDATE);
    end loop;

    end;

    I enter this code in the SQL prompt in the SQL workshop and it is said that she is treated, but when I look at the destination table (DKT_HIST), there is no data. Any help would be appreciated.  In this code I want to copy the three columns of the DEKIT table as well as the current date and copy them to DKT_HIST for each row in the table DEKIT.

    Thank you

    -Steve

    The reason why your code did nothing is probably because your loop, using the history table. And since there no data in the historical table first, there is nothing to loop.

    BUT!

    Good code is the task with the least possible effort. Which in your case should result in a code similar to this:

    begin
       insert into DKT_HIST (DEKIT_ID,NT,QUANTITY,DDATE)
       select DEKIT_ID,NT,QUANTITY, trunc(sysdate)
       from DEKIT;
    end;
    
  • Appellant the package with the cursor type and registration type variables

    Hello
    I tried the following package, which is similar to my requriement, the package has been successfully created, when you call it gives me error, the number of false arguments
    CREATE OR REPLACE PACKAGE Pkg_test1
    IS
      ----- Record Variable ----
      TYPE rec_job IS RECORD
       ( job varchar2(50),
         ename varchar2(50),
         sal number
       );
      TYPE typ_job IS TABLE OF rec_job;
      
      -- cursor declaration
      cursor emp_cur is select empno from  emp;
      TYPE emp_ttyp IS TABLE OF emp_cur%ROWTYPE INDEX BY PLS_INTEGER;
      ---- Procedure Declaration ----
    PROCEDURE proc_job ( p_cur IN   emp_ttyp,
                         o_Rat     OUT  typ_job );
     
    END Pkg_test1;
    /
    
    CREATE OR REPLACE PACKAGE BODY Pkg_test1
    IS
     
     PROCEDURE proc_job ( p_cur IN   emp_ttyp, o_Rat     OUT  typ_job )
      IS 
        -- Declare collection variable 
        l_typ_job typ_job; 
     
    BEGIN
       for i  in 1..p_cur.count loop
        select job,ename,sal bulk collect into l_typ_job
          from emp
          where empno=p_cur(i).empno ; 
    o_Rat:= l_typ_job;
    end loop;
    --Output
    for i in 1..o_rat.count loop
     DBMS_OUTPUT.PUT_LINE ( 'Output :'||o_rat(i).job||','||o_rat(i).ename||','||o_rat(i).sal );
      end loop;
    
    EXCEPTION
      WHEN OTHERS THEN 
           DBMS_OUTPUT.put_line('Procedure proc_job  - '|| SQLCODE|| '-'|| SQLERRM);
     END proc_job;
      end pkg_test1;
    /
    The package is created without errors
    But during the call, it gives me errors
    DECLARE 
      P_CUR PKG_TEST1.emp_ttyp;
      O_RAT PKG_TEST1.rec_job;
    BEGIN 
      PKG_TEST1.PROC_JOB ( P_CUR, O_RAT );
      COMMIT; 
    END; 
    Error is:
    PLS-00306: wrong number or types of arguments in call to 'PROC_JOB'
    Can you let me see how to overcome this error...

    Thank you..

    Published by: Smile on 9 may 2012 07:27
    SQL> DECLARE
      2  P_CUR PKG_TEST1.emp_ttyp;
      3  O_RAT PKG_TEST1.typ_job := PKG_TEST1.typ_job(null);
      4  BEGIN
      5  PKG_TEST1.PROC_JOB ( P_CUR, O_RAT );
      6  END;
      7  /
    Procedure proc_job  - -6531-ORA-06531: Reference to uninitialized collection
    
    PL/SQL procedure successfully completed.
    
    SQL> CREATE OR REPLACE PACKAGE BODY Pkg_test1
      2  IS
      3
      4   PROCEDURE proc_job ( p_cur IN   emp_ttyp, o_Rat     OUT  typ_job )
      5    IS
      6      -- Declare collection variable
      7      l_typ_job typ_job := typ_job();
      8
      9  BEGIN
     10     for i  in 1..p_cur.count loop
     11      select job,ename,sal bulk collect into l_typ_job
     12    from emp
     13    where empno=p_cur(i).empno ;
     14  o_Rat:= l_typ_job;
     15  end loop;
     16  --Output
     17  if o_rat is null then return; end if;
     18  for i in 1..o_rat.count loop
     19   DBMS_OUTPUT.PUT_LINE ( 'Output :'||o_rat(i).job||','||o_rat(i).ename||','||o_rat(i).sal );
     20    end loop;
     21  EXCEPTION
     22    WHEN OTHERS THEN
     23     DBMS_OUTPUT.put_line('Procedure proc_job  - '|| SQLCODE|| '-'|| SQLERRM);
     24   END proc_job;
     25    end pkg_test1;
     26  /
    Package body created.
    
    SQL> DECLARE
      2  P_CUR PKG_TEST1.emp_ttyp;
      3  O_RAT PKG_TEST1.typ_job;
      4  BEGIN
      5  PKG_TEST1.PROC_JOB ( P_CUR, O_RAT );
      6  END;
      7  /
    
    PL/SQL procedure successfully completed.
    
    SQL> 
    

    SY.

  • Is it possible to change text via the shortcut key (and do not double click on the thumbnail)?

    This was bugs me for some time now - any useful comments would be appreciated!

    Hi Lukas.

    I think I might have a solution for you actions involving. Create a new action, with a function key, which registers simply double click on the thumbnail of the layer text. Now toggle the option ON dialogue for this action. When I run it via the function key on any selected text layer, it turns the text editing mode and highlights the current text string.

    I have not tried anything too wide so there may be other problems with this method, but it's worth a few experiences.

    Kind regards

    Steve

  • problem with immediate execution

    Hi all
    I use 10g db.
    I wrote a database procedure. When I call front end (forms 6i) I get the error message
    ORA-00911: invalid character
    ORA-06512:at schema.update_tables line 10
    and here is my procedure
    create or replace procedure update_tables is
    BEGIN
    declare
    lstring varchar(100) := 'update ';
    lvalue varchar2(10) := 'LVM';
    begin
    for i in (select table_name,column_name from user_tab_columns where column_name like '%_COMPANY')
    loop
    lstring := lstring||i.table_name || ' set '||i.column_name || '= ' ||  chr(39) || lvalue || chr(39) || ' ; ' ;
    execute immediate lstring;
    end loop;
    end;
    END;
    /
    What could be gone bad?

    Thank you...

    Published by: GD on May 19, 2012 21:36

    Is chr (39) a quote on your system?

    Did you try my example or something else?
    (I've tried before, I posted it).

    Here is a complete example.
    I changed it to my previous post to use a variable binding to remove the tank (39).
    It will also help if lvalue contains a quote.

    create table hutest (my_company varchar2(30));
    
    Table created.
    
    insert into hutest values('djhg');
    
    1 row created.
    
    create or replace procedure update_tables is
    BEGIN
    declare
    lstring varchar(100) := 'update ';
    lvalue varchar2(10) := 'LVM';
    begin
    for i in (select table_name,column_name from user_tab_columns where column_name like '%_COMPANY')
    loop
    lstring := lstring||i.table_name || ' set '||i.column_name || '= :val';
    dbms_output.put_line(lstring);
    execute immediate lstring using lvalue;
    end loop;
    end;
    END;
    /
    
    Procedure created.
    
    set serveroutput on size 20000
    
    exec update_tables
    update HUTEST set MY_COMPANY= :val                            <------ From dbms_output
    
    PL/SQL procedure successfully completed.
    
    select * from hutest;
    
    MY_COMPANY
    ------------------------------
    LVM
    
    1 row selected.
    

    Published by: HU 2012-05-20 08:59

  • Help with IMMEDIATE EXECUTION and drop

    Hi all

    We strive to create a procedure to do the following:

    * We have in the database of the tables named as C$ _XXXXXXXXX
    * We want to drop some of these tables with a common prefix (Fe C$ _1203101)

    DECLARE
    v_sql VARCHAR2 (300);
    BEGIN
    SELECT 'DROP TABLE ODISTAG.' | TABLE_NAME | « ; » IN v_sql FROM USER_TABLES WHERE TABLE_NAME LIKE ' C$ _1203101% ';
    EXECUTE IMMEDIATE v_sql;
    END;

    But we are getting this error:


    Error report:
    ORA-00911: invalid character
    ORA-06512: at line 5
    00911 00000 - "invalid character".
    * Cause: identifiers may not start with any character other than ASCII
    letters and numbers. $# _ are allowed after the first
    character. May contain identifiers surrounded by doublequotes
    any character other than a quotation mark. Other quotes
    (q' #... #') cannot use spaces, tabs or as carriage returns
    delimiters. For all other settings, consult the SQL language
    Reference manual.
    * Action:


    Any help on this please?

    Thank you!

    You don't need the semicolon.

  • help the collection and immediate execution

    Hello

    I have problems with this code:
    DECLARE
       l_stmt   VARCHAR2 (11111);
    
       TYPE strarrt
       IS
          TABLE OF VARCHAR2 (500)
             INDEX BY BINARY_INTEGER;
    
       strarr   strarrt;
    BEGIN
       l_stmt :=
          'SELECT      ''UPDATE ''
               || cols.table_name
               || '' SET ''
               || cols.column_name
               || '' = '' '' WHERE ''
               || cols.column_name
               || '' IS NULL;''
        FROM   (SELECT   column_name, uc.table_name
                  FROM   USER_CONSTRAINTS UC, USER_CONS_COLUMNS UCC
                 WHERE       UCC.TABLE_NAME = UC.TABLE_NAME
                         AND UCC.CONSTRAINT_NAME = UC.CONSTRAINT_NAME
                         AND UC.CONSTRAINT_TYPE = ''P''
                         AND UCC.TABLE_NAME LIKE ''B136T%''
                         AND ucc.table_name NOT IN
                                  (''B136T017'',
                                   ''B136T018'',
                                   ''B136T0029'',
                                   ''B136T034'',
                                   ''B136T450'')) keyz,
               (SELECT   column_name, table_name
                  FROM   user_tab_cols
                 WHERE   TABLE_NAME LIKE ''B136T%'' AND data_type LIKE ''%CHAR%'') cols
       WHERE   keyz.column_name = cols.column_name
               AND keyz.table_name = cols.table_name;';
    
       EXECUTE IMMEDIATE l_stmt INTO   strarr;
    
       FOR i IN strarr.FIRST .. strarr.LAST
       LOOP
          DBMS_OUTPUT.put_line (strarr (i));
       END LOOP;
    END;
    The error is

    Error on line 2
    ORA-06550: Line 37, column 36:
    PLS-00597: expression 'STRARR' in the list IS of the wrong type
    ORA-06550: Line 37, column 4:
    PL/SQL: Statement ignored

    Any ideas?

    Published by: user10962462 on 27.03.2010 19:24

    Try

    DECLARE
       l_stmt   VARCHAR2 (11111);
    
       TYPE strarrt
       IS
          TABLE OF VARCHAR2 (500)
             INDEX BY BINARY_INTEGER;
    
       strarr   strarrt;
    BEGIN
       l_stmt :=
          'SELECT      ''UPDATE ''
               || cols.table_name
               || '' SET ''
               || cols.column_name
               || '' = '''' '''' WHERE ''
               || cols.column_name
               || '' IS NULL;''
        FROM   (SELECT   column_name, uc.table_name
                  FROM   USER_CONSTRAINTS UC, USER_CONS_COLUMNS UCC
                 WHERE       UCC.TABLE_NAME = UC.TABLE_NAME
                         AND UCC.CONSTRAINT_NAME = UC.CONSTRAINT_NAME
                         AND UC.CONSTRAINT_TYPE = ''P''
                         AND UCC.TABLE_NAME LIKE ''B136T%''
                         AND ucc.table_name NOT IN
                                  (''B136T017'',
                                   ''B136T018'',
                                   ''B136T0029'',
                                   ''B136T034'',
                                   ''B136T450'')) keyz,
               (SELECT   column_name, table_name
                  FROM   user_tab_cols
                 WHERE   TABLE_NAME LIKE ''B136T%'' AND data_type LIKE ''%CHAR%'') cols
       WHERE   keyz.column_name = cols.column_name
               AND keyz.table_name = cols.table_name';
    
       EXECUTE IMMEDIATE l_stmt BULK COLLECT INTO   strarr;
    
       FOR i IN strarr.FIRST .. strarr.LAST
       LOOP
          DBMS_OUTPUT.put_line (strarr (i));
       END LOOP;
    END;
    
  • Access to an external table via the display in the UCM configuration manager problem

    Hi all

    I know that this question is already asked here: to access the external tables in DB / in UCM Applet configuration manager but the conversation has already been archived, and I can't comment there. I'm following approach given by William Phelps in above said archived thread.

    I am able to create dblink with data remote and created the view by using the linked table in my diagram of the Complutense University of Madrid. The problem that I face is that this point of view such as told by William is not visible in the configuration manager. Although I tried to give (create view and create all views) system diagram University Complutense of MADRID user privileges, but I'm not sure that it will also provide access rights. I am using the SQL Developer and working at the University Complutense of MADRID 11 g.

    All comment or suggestion will be a great help.

    Stéphane yapi

    The value of this configuration variable: EBRIncludeViewsInTableList = 1

    https://jonathanhult.com/blog/2013/11/use-database-view-WebCenter-content-schema-view/

    Jonathan

    http://jonathanhult.com

  • changing tables in the form of pages on the same background of swf

    I want to when someone press the navigation key to another page, to simply swap the table which is my whole page and keep swf background play all the way without updating swf and from 00:00... is this possible?

    1. you may not use a swf file as a background image (although you can certainly put it in a container of absolute positioning as part of first plan and then another ' float' absolute positioned content above using z-index).

    2. you think about mobile devices that do not Flash display.

    3. the only way to do what you ask, is to use javascript to load previously hidden content in the visible part of the page.

    #3 will give you a single page site, with a series of virtual page content that is hidden except the current 'page '. When you click on through navigation, the desired content is made visible and moved in to replace the previously visible content when it is hidden. I think it's just a bad idea, not only because of the background Flash "jiggered", not only because of the inability of mobile to display Flash, but also because of the aspects of usability - in a site unique page like this, we can't not to bookmark individual pages.

  • Can I use the packages with compilation errors

    Hello

    I try to use procedures in a package that includes compilation errors. I wonder whether the remaining procedures within this package is usable or not?

    Or is there a way to only compile the correct procedure within this package?

    Thank you very much

    Murat

    user13795669 wrote:
    Not even Possible, I use execute commands as below

    run immediately "@/ var/mcp/loadUtlPkg.sql';" or with another way?

    No, you can not use as you wrote.
    @ - is a special, synonymous with start , sign command SQL * more.
    You cannot use it with the PL/SQL constructor.

    The only way that you can use the body to package not valid with valid package spec - compile another package, dependent on the subject. Not running - compile.

Maybe you are looking for