How to make a LIKE on a long data type

I need to search through all the triggers those that contain the string MYSTRING in their own bodies.
Unlike the table USER_SOURCE procedures and packages where it is possible to run a

Select distinct name from user_source where upper (text) like '% % MYSTRING ";

How can I make the same trigger where the body of trigger is a LONG type? I can't run a upper (trigger_body) like '% % MYSTRING "; on USER_TRIGGERS, so how can I do?

Thank you!

I have done a few times and generally what I do is create a temporary table by using CREATE TABLE AS... SELECT, and then in the source table. I'll convert the LONG column a CLOB column in the process that you can do your search string on it. Once I'm done, I drop my table.

I hope this helps!

Tags: Database

Similar Questions

  • How to insert the value of a LONG data type?

    Hi all

    Developers what to change the type of data in the PRODUCTS table.

    PRODUCT
    ======
    ID number (10) not null,
    NAME varchar2 (50) not null,
    DESCR varchar2 (250) not null


    They want the DESCR to change datataype at LENGTH

    So I got back it up first:

    create the table product_bak in select * from product;
    remove the product;
    change the product table change (descr, null);
    Edit the product table change (long descr);
    Insert into select product * from product_bak;

    ORA - 997 - illegal use of LONG data type


    How can I recover my data?


    Thank you very much.

    Use TO_LOB to convert long on the CLOB type, then use TO_CHAR to convert CLOB VARCHAR2.

  • What is the procedure how to make my system image backup and data through Windows NAS Server?

    I work the iMac with bootcamp for Windows 7 - Home Premium.

    I want to return to the system image and data etc. of the 'Windows Back up and Restore' to my Synology NAS (network attached storage). When I do the setting changes, I could not find the option to connect to the NAS, but have only the offer to connect to the external hard drive.

    (1) the 'Windows Back up and Restore' allows to connect to the NAS for the back of my files, in particular for the iamge system? If not, any other method to make the back upward, especially for the system image?

    (2) what is the procedure how to make my system image backup and data through Windows NAS Server?

    Original title: save the Windows image

    Backup to a network location is not supported by Windows 7 Home Premium. Do you need Windows 7 Professional or ultimate edition.

    http://Windows.Microsoft.com/en-GB/Windows7/where-should-i-save-my-backup

  • How can I set the long data type by default

    a query that I want to run:

    exec DBMS_METADATA. SET_TRANSFORM_PARAM (DBMS_METADATA. False SESSION_TRANSFORM, 'SEGMENT_ATTRIBUTES',);

    result:

    E

    ;

    ;

    45

    ;

    45

    ;

    45

    ;

    45

    ;

    S

    45

    I'm not sure but maybe I need set the long size before the race top query. But when I try to put long size gives below error. Also, I put below an explanation so help.

    "The output of DBMS_METADATA.GET_DDL is a LONG data type." When you use SQL * Plus, your output may be truncated by default. "Deliver the following SQL * Plus command before issuing the DBMS_METADATA.GET_DDL statement to make sure your output is not truncated:

    SQL> SET LONG 9999

    error:

    Unhandled SET statement:

    "SET 9999 LONG."

    Change SQL * PLus (login.sql) user profile or the site profile (glogin.sql) and add:

    THE VALUE LONG 9999

    SY.

  • LONG data type in a database read-only

    I would only run this query...

    SELECT MAX (nrr_id) AS nrr_id, LENGTH (nrr_narrative) AS nrr_narrative_length
    Stories
    GROUP OF LENGTH (nrr_narrative)
    ORDER BY 2;

    The problem is, nrr_narrative is a LONG data type, so LENGTH won't work.

    I did the game of legs (on the web) and saw several interesting ways to get around this restriction for the long data type The problem is, they need either SysEx in a new table and redesign of the LONG like a LOB (or similar) or write a stored procedure or function that re - throws the column and returns the length. I can't do either (or one of the other more esoteric suggestions) because the table exists in a database I am not and that I don't have very few privileges.

    I could create a link to db on my server to the external source and make the overhaul in a table (or by using a stored procedure) on my server, but the connection is slow and even a simple select on a db link expires quite frequently.

    You can write the PL/SQL code. Something like:

    DECLARE
        TYPE nrr_id_tbl_type IS TABLE OF NUMBER
          INDEX BY PLS_INTEGER;
        v_nrr_id_tbl nrr_id_tbl_type;
        v_len NUMBER;
    BEGIN
        FOR v_rec IN (SELECT nrr_id,nrr_narrative FROM narratives) LOOP
          IF v_nrr_id_tbl.EXISTS(LENGTH(v_rec.nrr_narrative))
            THEN
              v_nrr_id_tbl(LENGTH(v_rec.nrr_narrative)) := GREATEST(
                                                                    v_nrr_id_tbl(LENGTH(v_rec.nrr_narrative)),
                                                                    v_rec.nrr_id
                                                                   );
            ELSE
              v_nrr_id_tbl(LENGTH(v_rec.nrr_narrative)) := v_rec.nrr_id;
          END IF;
        END LOOP;
        v_len := v_nrr_id_tbl.FIRST
        FOR v_i IN 1..v_nrr_id_tbl.COUNT LOOP
          DBMS_OUTPUT.PUT_LINE('LENGTH(nrr_narrative) = ' || v_len || ', MAX(nrr_id) = ' || v_nrr_id_tbl(v_len));
          v_len := v_nrr_id_tbl.NEXT(v_len);
        END LOOP;
    END;
    /
    

    SY.
    P.S. It will not work if nrr_narrative is greater than 32760, which is the maximum length of the LONG PL/SQL data type.

    Published by: Solomon Yakobson on 13 December 2011 14:52

  • long data type

    If USER_CONSTRAINTS. SEARCH_CONDITION is the LONG data type,
    How can filter us "NOT NULL" LINES in a SELECT Clause where:

    Select constraint_name
    of user_contraints
    where search_condition not like '% NO NLL %'


    Any ideas are appreciated! Thank you!

    Unfortunately you can not do this,

    The use of LONG values is subject to these restrictions:

    A table can have only one column.

    You cannot create an object with a long attribute type

    LONG columns may not appear in the WHERE clause or in integrity constraints (except that they may appear in null and NOT NULL value constraints).

    LONG columns cannot be indexed.

    Cannot specify LONG data in regular expressions.

    A stored function cannot return a value of type LONG.

    You can declare a variable or argument to a PL/SQL program unit using the long data type However, you cannot call then the SQL program unit.

    Within a single SQL statement, all the columns LONG, updated tables and locked tables must reside on the same database.

    LONG and LONG RAW columns cannot be used in distributed SQL queries and cannot be replicated.

    If a table has columns ALONG both LOB, then you can not bind more than 4000 bytes of data to the two LONG and LOB columns in the same SQL statement. However, you can bind more than 4000 bytes of data in the long RUN or the LOB column.

    http://download.Oracle.com/docs/CD/B19306_01/server.102/b14200/sql_elements001.htm#SQLRF00201

  • As an operator with the long data type

    Oracle 10g.

    Hi gurus

    I want to apply as an operator on the long data type, but I get the error message, can you please help me why is that I use as an operator with the long data type. I did some research and but unable to find a solution, see query for more details below...

    Query

    SELECT trigger_body FROM user_triggers

    WHERE trigger_body LIKE '% UPDA % CASE % ';

    Error

    ORA-00932: inconsistent data types: expected NUMBER got LONG

    00932 00000 - ' incompatible data types: wait %s %s got. "

    * Cause:

    * Action:

    Error on line: column 2: 7

    Concerning

    Muzz

    Adrian Billington wrote to the top of your options.

    working with long columns

  • Syntex to create the table with the long data type

    I'm looking to create a table based on another table that having the column long data type. Throw the error ORA-00997: illegal use of the LONG data type


    I tired it

    create table abc_long (ag bgd long number);

    create table abc_long_dummy as ( ) Select *of abc_long); - ORA-00997 error: illegal use of the LONG data type

    How to get there?

    I'm looking to create a table based on another table that having the column long data type.

    You really don't want to do that.

    LONG data type has been deprecated for some time now, use CLOB.

    The TO_LOB() function will do the conversion on the fly:

    create table abc_long_dummy
    as
    select ag
         , to_lob(bgd) as bgd
    from abc_long ;
    
  • Error (21,100): PL/SQL: ORA-00997: illegal use of the LONG data type

    CREATE or REPLACE (name in varchar2) procedure Compress_tab_partition
    is
    last_mnth_var varchar2 (8);
    curr_mnth_var varchar2 (8);
    number of last_mnth;
    number of curr_mnth;
    last_partition varchar2 (8);
    high_val varchar2 (4000);
    Start

    Select to_char (add_months (trunc (sysdate, 'MM'),-1), 'YYYYMM') | ' 00' in the double last_mnth_var;
    Select to_char (sysdate, 'YYYY') | TO_CHAR (sysdate, 'mm') | ' 00' in the double curr_mnth_var;
    Select to_number (last_mnth_var) in the double last_mnth;
    Select to_number (curr_mnth_var) in the double curr_mnth;

    Dbms_output.put_line ('Compression of GOLDMGR Table scores.' | table-name |) "to go". ») ;
    Dbms_output.put_line(' ');

    / * Step 1 - identify the name of the partition of the specified table must be compressed * /.
    Select high_value from high_val from user_tab_partitions where table_name = table-name;
    Select nom_partition into last_partition from user_tab_partitions where table_name = table-name and high_value = rtrim (high_val);

    / * Step 2 - Alter partition table to compress * /.

    run immediately "ALTER TABLE GOLDMGR." | table_name | ' CHANGE THE PARTITION '. last_partition | "COMPRESS by low query";

    / * Step 3 - Index rebuild step * /.

    I'm in (select index_name in user_indexes where table_name = table-name)
    loop
    run immediately "ALTER INDEX GOLDMGR." | i.index_name |' REBUILD ";
    end loop;

    Dbms_output.put_line (' COMPLETED: compress the Table partitions change.) ") ;

    end;
    /

    I'm getting an error like: Error (21,100): PL/SQL: ORA-00997: illegal use of the LONG data type

    Please resolve.

    HIGH_VALUE datatype is LONG. You may not use for a long TIME in WHERE clause expressions. You need to loop through the partitions by selecting HIGH_VALUE and then comparing. Secondly, there is no need to select double to calculate expressions. For example:

    Select to_char (add_months (trunc (sysdate, 'MM'),-1), 'YYYYMM') | ' 00' in the double last_mnth_var;

    should be replaced by

    last_mnth_var: = to_char (add_months (trunc (sysdate, 'MM'),-1), 'YYYYMM') | ' 00'.

    and there is no need to add_months here:

    last_mnth_var: = to_char (trunc (sysdate, 'MM') - 1, "YYYYMM"). ' 00'.

    But the main question is simply ALTER TABLE MODIFY PARTITION COMPRESS allows compression but does not compress. You must issue ALTER TABLE MOVE PARTITION COMPRESS:

    SQL > create table tbl (n) partition by range (n)
    2 (partition p1 values less than (maxvalue))
    3. Select lpad('X',4000,'X') from dual connect by level<=>
    4.

    Table created.

    SQL > select bytes
    2 from WHERE user_segments
    3 where nom_segment = 'TBL '.
    4 and nom_partition = 'P1 '.
    5.

    BYTES
    ----------
    830472192

    SQL > alter table tbl
    2. change the partition p1 compress
    3.

    Modified table.

    SQL > select bytes
    2 from WHERE user_segments
    3 where nom_segment = 'TBL '.
    4 and nom_partition = 'P1 '.
    5.

    BYTES
    ----------
    830472192

    SQL > alter table tbl
    2. move the partition p1 compress
    3.

    Modified table.

    SQL > select bytes
    2 from WHERE user_segments
    3 where nom_segment = 'TBL '.
    4 and nom_partition = 'P1 '.
    5.

    BYTES
    ----------
    8388608

    SQL >

    SY.

  • ORA-00997: illegal use of the LONG data type

    Hi all

    11.2.0.1

    ALTER TABLE SAFDB MOVE TABLESPACE DATA_TS_ENC

    *

    ERROR on line 1:

    ORA-00997: illegal use of the LONG data type

    Why illegal? How can I move this table?

    Thank you very much

    pK

    Take a look who

    http://aprakash.WordPress.com/2011/01/06/how-to-move-table-containing-long-or-LOB-columns/

    Concerning

  • Error in the Primavera Analytics 3.1 (staretl issuance of long data type error)

    Hello

    When executing ETL for analytics Primavera 3.1 I am faced with long data type error.

    Session detailed log can be found on the below URL.

    http://pastebin.com/Ez0VihGN

    I have following environment.

    Primavera analytics on Win2k8 64-bit with 11g R2 DB.

    EPPM Primavera DB on Sql Server

    Connectivity via Oracle Gateway. (tested)

    Help, please.

    Naeem Akhtar

    Published by: Naeem Akhtar Khan on April 9, 2013 03:58

    Based on your post there is an error in you initdg4msl.ora file... Make sure you the database connection is correct and you add the statement two to the file

    for example

    Should be: HS_FDS_CONNECT_INFO = YOURSQLSERVER / / YOUR DATABASE

    Make sure that you add the following code in the same file (see page 92):
    HS_NLS_LENGTH_SEMANTICS = CHAR
    HS_FDS_CHARACTER_SEMANTICS = TRUE
    HS_KEEP_REMOTE_COLUMN_SIZE = ALL

    Restart the ETL process

  • View the long data type

    Hello

    I use coldfusion 7 and oracle 10g.

    I'm trying to display a field (aprconf_comment) who have a LONG data type and that is formatted with carriage return.
    The problem I have, is the maintenance of wagons return entered by the user.
    The text that is displayed is all in a single paragraph, that all the wagons back had been withdrawn.

    Does anyone know how to keep the return transport?

    Thank you
    Chantal

    Here is my select code
    < name cfquery "allWealth' datasource = #TheDataSrc # dbtype = #TheDataType = # >
    Select *.
    of avwh_bio_wealth
    where aprconf_pidm = ' #ThePidm #
    and aprsubj_subj_code = 'WHLT.
    < / cfquery >

    Here is my code to display
    < cfoutput query = "allWealth" >
    < b >
    < td align = "Left" > < class p = "text" > #aprconf_comment # < /p > < table >
    < /tr >
    < / cfoutput >

    For future references.

    In fact, looking for others, I found this function
    ParagraphFormat() worked a little better for me
    because the text remained inside the window, not as

     
    .

    I guess that ParagraphFormat() creates "soft returns.

    Thank you all,.
    Chantal

  • long data type in where clause

    Hello

    I need to select in an Oracle table with a column having
    Long data type and Oracle does not use this column in the
    WHERE clause. Doco Oracle suggests that the columns with LARGE data types may
    only be used in the select statement (not in the CASE or any other
    conditional clause).

    Anyone know any work around for this problem?

    What is the way to see the value of long data type?

    How can we use them in where clause?

    We can all utility to display the specified records? There are Lakes of records...


    I ned use it in where clause...

    Thanks and greetings
    VD

    Published by: vikrant dixit on November 23, 2008 22:47

    So can OK we use CLOB/BLOB in where clause?

    Yes, you can query the LOB columns using the package (F.ex.SUBSTR or INSTR) DBMS_LOB functions.

    Why u say that the result is FTS?

    This would result in FTS as you cannot index LARGE data or create a function based on the column index.

    http://download.Oracle.com/docs/CD/B19306_01/server.102/b14200/sql_elements001.htm#sthref149


    LONG columns cannot be indexed.

    No other way to my knowledge.

    You can convert the LOB column with function TO_LOB as described in

    http://download.Oracle.com/docs/CD/B19306_01/server.102/b14200/functions185.htm#i79464

    Published by: Sissi Kandi on November 24, 2008 12:28

  • long data type error

    Hi all

    Hope all are fine, I got stuck in a query, and I need your help, I will be grateful for this.

    I was using the query below to copy all the data of table x to y.

    SQL > insert y select * from x@dblnkname;

    ERROR on line 1:

    ORA-00997: illegal use of the LONG data type

    I m getting the error above, tables x and there does not "long" datatype.your help will be appreciated, thanks in advance.

    DB: 11.2.0.3

    OS: RHEL 6.1

    Thank you

    Kind regards.

    copy of user/password@sid to user1/password@sid add user1.new_table using select * from user.old_table;

  • Long data type in 10g

    Hi all

    We are abt to put one of our prod 9.2.0.6 in 10.2.0.4 database in solaris and when I checked in the base of a few paintings of long data type is still it is it necessary to convert of LOB or I can ignore it.

    DATA_TYPE TABLE_NAME OWNER
    --------------- ------------------------------ -------------------- -----------
    OUTLN OL$ LONG
    WLI_SCHEMA WLI_B2B_BUSINESS_PROTOCOL_DEFN LONG
    WLI_SCHEMA WLI_B2B_LOGIC_PLUGIN LONG
    WLI_SCHEMA WLI_TPM_EXTENDED_PROPERTY_SET LONG
    WLI_SCHEMA WLI_TPM_SERVICE LONG
    WLI_SCHEMA WLI_TPM_TRADING_PARTNER LONG


    KK

    If Oracle is recommended for several years do not use the data type LONG on the user objects, there is still little for dictionaries of Oracle tables.
    However, you should not touch.
    With respect to users within LONG data type, it is yours and tests the results depending on whether you can switch the type of LOB data or not and probably submit to be approved and taken in charge by the provider of your application.

    Nicolas.

Maybe you are looking for

  • Add tabs and toolbar add-ons disappeared at the opening of the browser closed.

    I've deleted and reinstalled 17.01 three times now. The first time was to enter my bank site. The second because I still had problems with the download. My browser has been working well for a few weeks. I was using the browser, it closed with open ta

  • How to get WLAN running on my Satellite A300?

    Hello world I had to destroy my hard drive (virus), but I don't have a recovery disk, and so I have to install all the drivers manually. Before grinding it I looked to a recovery device I had heard before, but there was only C:. Everythink works fine

  • Iconia loses power very quickly

    Hello I have an Iconia 7 '' tablet.  Senior 100%, it loses withn 10 minutes power. Any suggestions before I have go through the hassle to return?

  • missing msvcp140.dll

    Trying to run an application (Dolphin) and get this error message 'msvcp140.dll' missing I downloaded the c ++ 2015 and tried to install it. It always freezes or the progress bar never moves, even after leaving there for hours. I really need help. I'

  • Insert the attachment with possibility to display

    Hello I am inserting an attachment in new message using this Several multipart part = new Multipart(); SupportedAttachmentPart attach = new SupportedAttachmentPart (multipart, ' application/octet-stream', 'name.doc"AttachmentData); multipart.addBodyP