String search in multiple columns of a table

Hi,
I have a requirement in which i want to search a particular string say 'ABC' in columns col1,col2,col3 of table tab1. If the string is there in either of these columns i need to pick up that row.
Currently i am using 'INSTR' ,'OR' clauses to achieve this.
But it is taking long time to execute.
Can anybody suggest me an alternative for this which will give me better execution time.

user12288167 wrote:
Hi,
I have a requirement in which i want to search a particular string say 'ABC' in columns col1,col2,col3 of table tab1. If the string is there in either of these columns i need to pick up that row.
Currently i am using 'INSTR' ,'OR' clauses to achieve this.
But it is taking long time to execute.
Can anybody suggest me an alternative for this which will give me better execution time.Not I.

Similar Messages

  • How to use a USER_DATASTORE to index multiple columns in different tables

    I would appreciate if somebody can give an example or point to links with examples on how to use USER_DATASTORE on multiple columns in different tables. THe Oracle Text documentation only shows multiple columns in the same table.
    Thanks in advance.

    I am not sure why your getting the wrong results but you should seriously reconsider the approach your are taking. Using functions like this is very ineffecient and should be avoided at all cost.

  • How to update multiple columns from different tables using cursor.

    Hi,
    i have two tables test1 and test2. i want to udpate the column(DEPT_DSCR) of both the tables TEST1 and TEST2 using select for update and current of...using cursor.
    I have a code written as follows :
    DECLARE
    v_mydept1 TEST1.DEPT_CD%TYPE;
    v_mydept2 TEST2.DEPT_CD%TYPE;
    CURSOR C1 IS SELECT TEST1.DEPT_CD,TEST2.DEPT_CD FROM TEST1,TEST2 WHERE TEST1.DEPT_CD = TEST2.DEPT_CD AND TEST1.DEPT_CD = 'AA' FOR UPDATE OF TEST1.DEPT_DSCR,TEST2.DEPT_DSCR;
    BEGIN
    OPEN C1;
         LOOP
              FETCH C1 INTO v_mydept1,v_mydept2;
              EXIT WHEN C1%NOTFOUND;
              UPDATE TEST2 SET DEPT_DSCR = 'PLSQL1' WHERE CURRENT OF C1;
              UPDATE TEST2 SET DEPT_DSCR = 'PLSQL2' WHERE CURRENT OF C1;
         END LOOP;
         COMMIT;
    END;
    The above code when run says that it runs successfully. But it does not updates the desired columns[DEPT_DSCR].
    It only works when we want to update single or multiple columns of same table...i.e. by providing these columns after "FOR UPDATE OF"
    I am not sure what is the exact problem when we want to update multiple columns of different tables.
    Can anyone help me on this ?

    oops my mistake.....typo mistake...it should have been as follows --
    UPDATE TEST1 SET DEPT_DSCR = 'PLSQL1' WHERE CURRENT OF C1;
    UPDATE TEST2 SET DEPT_DSCR = 'PLSQL2' WHERE CURRENT OF C1;
    Now here is the upated PL/SQL code where we are trying to update columns of different tables --
    DECLARE
    v_mydept1 TEST1.DEPT_CD%TYPE;
    v_mydept2 TEST2.DEPT_CD%TYPE;
    CURSOR C1 IS SELECT TEST1.DEPT_CD,TEST2.DEPT_CD FROM TEST1,TEST2 WHERE TEST1.DEPT_CD = TEST2.DEPT_CD AND TEST1.DEPT_CD = 'AA' FOR UPDATE OF TEST1.DEPT_DSCR,TEST2.DEPT_DSCR;
    BEGIN
    OPEN C1;
    LOOP
    FETCH C1 INTO v_mydept1,v_mydept2;
    EXIT WHEN C1%NOTFOUND;
    UPDATE TEST1 SET DEPT_DSCR = 'PLSQL1' WHERE CURRENT OF C1;
    UPDATE TEST2 SET DEPT_DSCR = 'PLSQL2' WHERE CURRENT OF C1;
    END LOOP;
    COMMIT;
    END;
    Please let us know why it is not updating by using using CURRENT OF

  • Mapping multiple columns of a table to single dimension using odi

    Hi John,
    Can we map multiple columns of a table to a single dimnesion?
    For example, in RDBMS, for the employee details, Grade position etc will be in different columns, and in Planning these would be as members of one dimension.
    So while loading data from oracle to essbase can we map these multiple columns to single dimension?
    If yes how?

    Hi,
    In your staging area/target you can concatentate the columns.
    So in your interface and on your target datastore, pick the column which is going to hold the details of the concatenation.
    Then in the expression editor use the CONCAT function, or you could use ||
    eg CONCAT(<sourceCol1>, <sourceCol2>)
    or <sourceCol1> || <sourceCol2>
    obviously you need to change the information between <sourceCol1> to your source datastore column
    Cheers
    John
    http://john-goodwin.blogspot.com/

  • Sort functionality using MULTIPLE columns in a table control

    Hi all,
    I have a custom screen with table control.Now i need to provide SORT functinality in this screen for the columns in the table control.
    My questins:
    1.Is it possible to seelct MULTIPLE columns in a table control for SORTING?If yes,what explicit settings do i need to do while creatng the TABEL CONTROL in the screen?DO I need to select "Column selection " as MULTIPLE??
    2.How do I write the code for SORT functinonality for multiple columns?
    I know how to write the code for SORTING on basis of single column .
    Thanks!

    Hi Rob,
    Thanks for the reply.
    However I was thinking to apply the same logic as for single columns as follows:
    types : begin of ty_fields,
                c_fieldname(20),
               end of ty_fields.
    data  : t_fields type table of ty_fields,
               wa_fields like line of t_fields.
    WHEN 'SORTUP'.(Ascending)
          loop at TABLE tc01-cols INTO wa_tc01  where  selected = 'X'.
          SPLIT wa_tc01-screen-name AT '-' INTO g_help g_fieldname.
          wa_fields-c_fieldname = g_fieldname.
          append wa_fields to t_fields.
          endloop.
          describe table t_fields lines l_index.
          c_count = 1.
          if c_count  <= l_index.
          read table t_fields into wa_fields index c_count.
          case c_count.
          when '1'.
          l_field1 = wa_fields-c_fieldname.
          when '2'.
         l_field2 = wa_fields-c_fieldname.
        and so on depending on the no of columns in the table control...
          endcase.
          endif.
          SORT t_tvbdpl_scr BY  l_fields1 l_fields 2......l_fieldn.
    Let me know if the above method will work!Also for the above method to work will the type of fields(columns on whihc sort function will be applied) matter???
    Thanks again for your time.

  • I am unable to sort multiple columns in a table created in Pages.

    I had been using Appleworks up until I installed Lion and have now switched to iWork. I created a table within a Pages document and am able to sort a single column (using the Table Inspector and choosing Sort from  Edit Rows and Columns) but the Sort option is grayed out when I attempt to sort multiple columns.
    In another post, someone talked about this being a problem if you have merged fields. I do not believe I have done this (to be honest I don't know the function of merging fields).
    This is very frustrating as I was easily able to sort these tables in Appleworks.

    Sharon Anderson wrote:
    Thanks for your quick response! I have been trying that but then found that Numbers would only let me print in landscape view so I had to paste the table back into Pages. Is there a way to print in portrat view (from Numbers?)
    Not so. In the lower left corner of the window, there's an icon that looks like a piece of paper. If you see this:
    you are in Sheet View, or normal, mode. If you see this:
    You are in Print View mode. Now you see the icons for portrait and landscape modes. Click your choice. Then arrange your content to fit the pages as you wish.
    Jerry

  • VLOOKUP search for multiple columns

    Hi Folks,
    I have a VERY complex spreadsheet for our business that I've built in Numbers, which I absolutely love and wouldn't have been able to do without all of your help (thanks!). At this point I am looking to take a list of SKUs and decode them so that I can classify them. Each SKU is exactly 5 characters, and is coded as such:
    The first character denotes the type of product, the second character denotes the class of product, and the third character denotes the size of the product. The last two characters are unique to the particular product and contain things like scent/flavor/etc.
    In another table I have listed out the SKU paradigm, which specifies what each of the characters represent. Here is an example (pipes indicate column boundaries):
    C | Cleanse | S | Solid | T | 3 OZ Bar
    C | Cleanse | S | Solid | O | 1 OZ Bar
    C | Cleanse | L | Liquid | E | 8 OZ Bottle
    M | Moisturize | B | Butter | T | 2.5 OZ Roll-Up
    M | Moisturize | L | Lotion | F | 4 OZ Bottle
    So, a SKU that is "CSTAL" tells us that it is a cleanser, it's solid, and is 3 oz. (the last 2 characters represent the scent in this case, which is Almond). A SKU beginning with "MBT" would tell us its a moisturizer, its in the form of a body butter, and it's a 2.5 oz roll-up.
    Now, I have a listing of SKUs and I'm trying to do this with a VLOOKUP. I can get the first category easily. I just take leftmost character of the SKU, and do a VLOOKUP on the first two columns of the SKU paradigm table and return the name of that classification. Where I'm having a problem is getting the second classification. I can get the second character of the SKU, but when I do a VLOOKUP on the second character, I need to also look for the first classification too, because if I just lookup say "L", it's not unique. L is a Lotion (moisturizer), but also a Liquid (cleanser) depending what the first category is.
    So, my question is this, how do I lookup the values I need from this table while matching on the first two columns as well?
    Or, if anyone has any other ideas on how to approach this I'm all ears. Thanks!
    Hal

    Does your "SKU paradigm" table have every possible combination of the first three letters of the SKU? If so, make a column in that table that is the concatenation of columns A, C, and E. This would be the first three letters of the SKU. Instead of looking up the SKU one letter at a time, you would lookup the first three letters all at once.

  • String search in BLOB column

    Hi All!
    I have a table that contains text files in a BLOB column. I want to search for an 'input string' in all the text files in the column and replace it with 'replace string'. Is it possible to do this? And if so, how? Please suggest.
    Thanking in advance.
    Regards,
    Deepika.

    If the BLOB is smaller than 32767 in length, you can simply:
    DECLARE
       p_blob   BLOB := UTL_RAW.cast_to_raw (RPAD ('X', 32767));
    BEGIN
       p_blob :=
          UTL_RAW.cast_to_raw (REPLACE (UTL_RAW.cast_to_varchar2 (p_blob),
                                        'X',
                                        'Y'
    END;

  • How to transpose rows into multiple columns using pivot table

    I have 1 row containing 12 columns with value "JAN", "FEB", "MAR", "J-1","F-1","M-1","J-2","F-2","M-2","J-3","F-3","M-3"
    I want to display as
    JAN J-1 F-1 M-1
    FEB J-2 F-2 M-2
    MAR J-3 F-3 M-3
    How do I achieve the above?

    Today you have only 3 months JAN, FEB, MAR. Is it always the same number of columns. What if there are more months added to this row?
    Is your data really coming from relational source or some sort of text file?
    There is a better way to do this in narrative view using HTML if your requirement is just to show them in multiple rows and do some calculations.
    Go to Narrative View;
    In prefix, use <html> <table>
    In 'Narrative' text box add something like this
    <tr> <td> @1 </td> <td> @4 </td> <td> @7 </td> </tr>
    <tr> <td> @2 </td> <td> @5 </td> <td> @8 </td> </tr>
    <tr> <td> @3 </td> <td> @6 </td> <td> @9 </td> </tr>
    In Suffix, use </table> </html>
    You can also add simple calculations like sum etc at the very bottom of these rows as grand totals.
    kris

  • Can I update 2(or multiple) columns in a table based on one of update col?

    Hi All,
    I have a table emp:
    empno number
    ,salary number
    ,comm number
    Now, the comm column is always a % of the salary column (but still would like to store the comm in the table as a column).
    Assuming that someone get a salary increment and I need to update the commission as well based on the new salary value, should I still use 2 update statements or is there anyway, I can achive in a single update clause itself?
    example:
    if the old values were:
    =============
    1234 10000 1000
    and if I do the following,
    update emp
    set salary = salary + 3000
    ,comm = salary * 10/100
    where empno = 1234;
    the comm value still points to the old salary value and the table looks like:
    emp:
    ===
    1234 13000 1000
    instead of:
    1234 13000 1300 (10% of the new salary - 13000)
    so, the only way to achieve this is to issue 2 update statements? Or is there any way of achieving in one single update statement? Please let me know.
    Am on Oracle 10.2.0.3.0.
    Thanks,
    Srini.

    Or you could create a after update trigger on salary column that updates comm whenever Sal updates.
    What happens if someone else issues an update on salary and forgets to update the commission? Wont you have incorect data then?
    Also, commision is a redundant column . I dont think it is a good idea to have computed values as a separate column.
    Thanks,
    Rajesh,

  • How to disaply multiple column of a table in a single flex datagrid column

    Hi,
    I have a table in my database which has say 3 column (Firstname,LastName,Location). I wanted to display these 3 different values in a single column in flex datagrid.
    Could you please help me out in this
    Thanks,
    Pratik

    Generally, in such scenarios each column is made corresponding to the column in database only and not single column.
    However, we can setStyle of a datagrid to make it appear as if all three  columns have been populated in single.
    set verticalGridLines="false" for dataGrid. Further cosmetic changes can be made to realise the required look.
    In some cases, labelFunction of a datagridColumn also suffices the need.
    Tanu

  • Need to update multiple columns using another table

    I have 2 tables. and i need to update rows of 1 table using another table
    Table1
    Serial_no.     payment_date     Payment_amt
    101     22/11/2010     150
    101     18/03/2011      355
    102     15/04/2011      488
    103     20/05/2011      178
    102     14/06/2011      269
    101     28/06/2011      505
    Table2
    Serial_no     Charge_amt      Last_paymt_dt     Last_paymt_amt
    101     255
    102     648
    103     475
    I want to update Last_paymt_dt and Last_paymt_amt of table2 using Table1, I have written following update statement but it gives error that single row subquery return multiple row.
    Update Table2
    set (Last_paymt_dt,Last_paymt_amt) = (select max(payment_date, payment_amt) from table1
    where table1.Serial_no = table2.Serial_no group by payment_amt)
    kindly suggest how should i update.

    SQL> select * from table1
      2  /
    SERIAL_NO PAYMENT_DA PAYMENT_AMT
           101 22/11/2010         150
           101 18/03/2011         355
           102 15/04/2011         488
           103 20/05/2011         178
           102 14/06/2011         269
           101 28/06/2011         505
    6 rows selected.
    SQL> select * from table2
      2  /
    SERIAL_NO CHARGE_AMT LAST_PAYMT LAST_PAYMT_AMT
           101        255
           102        648
           103        475
    SQL> update  table2
      2     set  (last_paymt_dt,last_paymt_amt) = (
      3                                            select  max(payment_date),
      4                                                    max(payment_amt) keep(dense_rank last order by payment_date)
      5                                              from  table1
      6                                              where table1.serial_no = table2.serial_no
      7                                           )
      8  /
    3 rows updated.
    SQL> select * from table2
      2  /
    SERIAL_NO CHARGE_AMT LAST_PAYMT LAST_PAYMT_AMT
           101        255 28/06/2011            505
           102        648 14/06/2011            269
           103        475 20/05/2011            178
    SQL> SY.

  • Indexing multiple columns in multiple tables

    I have a multiple tables in which I want to search. I need to do text search that supports fuzzy logic for which I've currently set up a context index using the user_datastore. I also need to search columns such as numbers/dates/timestamps which from what I understand is not supported with the context search. I'm looking at setting up a second index of type ctxcat for this purpose - but I will need to index multiple columns in multiple tables. Is this possible?
    Can someone advise on the best way to create indexes and search when a table schema such as the following exists. I've tried to keep it simple by just giving a few example columns and tables.
    Order Table
    - Has columns related to the order details - order name (varchar2), description (varchar2), date order placed (timestamp), date order completed (date), order amount (number), customer Id
    Customer Table
    - Has columns related to the customer information - customer name, address, city, state, telephone etc (all varchar2 fields)
    Items Table
    - Has details about the items being ordered - item name (varchar2), item description (varchar2), cost (number) etc
    Order-Item Table
    - Table that maps an order to the items in that order - orderId, itemId, quantity
    Comments Table
    - Logs any comments with the customer - comment description (varchar2), call type (varchar2), comment date (timestamp)
    Currently with the Context index, I have it set up so I can search all text columns in all tables for a search term. This works fine.
    I now need to be able to do more advanced searches, where I can search for a specific text in all orders as well as orders created after a certain date or orders above a certain amount or orders with a item quantity purchase of more that 10. The text has to be searched across the all text columns in all tables. How can I achieve this with Oracle Text?

    There was a similar discussion with various ideas that may help you here:
    How can I make CONTAINS query work for a date range

  • Multiple Column hiding in advance table using Switcher

    Hi All,
    I am having requirement of hiding multiple columns in advance table using swithers.
    Lets says I am searching for the the parties in party search page. If the party is of type person then two columns should be visible one is firstName and LastName.
    and If party is of type organization then firstName and lastName column shpould be hidden and only the PartyName column should be visible.
    Is this possible through switchers if yes please explain?
    Br, 903096

    Hi ,
    This can be done through switcher case , along with switcher you also need to use SPEL binding the each of those attribute
    that you wish to hide .
    Go through delete exercise to understand how to implement switchers case .
    Let me know if you need any help .
    --Keerthi                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

  • Index Multiple Column of Multiple Tables

    Hi All,
    I would like to know how to create a index which can search through all column in my database tables. Eg: I have 30
    tables and every tables have around 10 columns. I want to create a index which can search through the columns in
    these tables.
    I know that User_DataStore can helps in create multiple column search across multiple tables. But in my case the BLOB
    created will be very huge. Any work around? I mean is there any solutions like concatenated datastore?
    Thank You.
    Regards,
    LG Tan

    Hi,
    I figured out how to do this today. The first thing is that the type of index you need is a USER_DATASTORE.
    The idea behind this type of index is pretty straight forward but the documentation does a very good job of not drawing attention to just how powerful it is.
    The idea behind a USER_DATASTORE is that you can write your own stored procedure to extract the data that you want to index and return it to the indexer. Take an example where you have a master table which contains enough information to allow you to find associated data in other tables i.e. a shared key. The idea is that when you set up a USER_DATASTORE index, you specify the name of a stored procedure that the indexer will call for each row in the master table. The stored procedure has one input and one output parameter, rowid (in) and clob (out).
    When the index is created, the stored procedure you specify is, as I said above, called for each row in the master table. Your stored procedure uses this ROWID to extract the shared key (this can be anything you want) from the master table and uses this to build the necessary SELECT statement to retrieve the related data from the other tables. The rest of the stored procedure simply appends the data returned from your select statement to the return CLOB. The indexer then indexes the inforamation in this CLOB and discards the data.
    The index can of course only return hits against the master table. It's up to your application to extract shared key from the returned row(s), bind to the other tables and present the results.
    You will find a basic example of how to implement USER_DATASTORES in the Oracle Text Reference Guide (http://download.oracle.com/otndoc/oracle9i/901_doc/text.901/a90121.pdf). Feel free to email me if you want some example code.
    Dean

Maybe you are looking for

  • Hard drive problem...... Please Help

    Hard drive problems I am sure it is due to my error or mistake but I received a new Maxtor III touch as a replacement for my failed drive yesterday after connecting it I went to Maxtor one touch manager software that came with it and the drive did no

  • Inspection Lot creation for the 103 movement type

    <<Don't ask for or offer points>> Dear Experts, we have the requirement of Creating the Inspection lot for the 103 movement type. we have done all the necessary settings for 103 movement type (in OMJJ and under the node   Quality Management --> Quali

  • IDE'S error

    Hi!!! The next error appears when in a hyperlink I click in the URL property(...). What can it be??? It doesn't show me the resouces directory to select a page. Thanksssss *********** Exception occurred ************ at 10:39 AM on Sep 22, 2006 java.l

  • Disable manipulation of OLE Objects in Previewer

    Hello to all, I've developed several reports containing OLE objects stored in tables. These maybe Word Docs, Excel Sheets, images, etc. The OLE objects are displayed in the previewer / printout correctly. But when you doubleclick on an OLE object in

  • How bad is the new iTunes logo?

    It looks like it's been designed by an intern... from Microsoft! There must be to go back to the old one, right click, show package contents... anyone know the rest?