Which option to use to search text in multiple table columns

Hi, I have a case where I have 4 db tables. On the UI there is an option to search a keyword from some columns of these 4 tables.
Table1 = summary, description are the columns user can search on
Table2 = project_name is the column user can search on
Table3 = need_by_date is the column user can search on
Table4 = owner is the column user can search on
On the UI, user can enter a keyword and check the columns they want to search on. Out of the above, they can check one column, or more, or all.
My question is what is the best option to use oracle text search in this case.
Option 1 = I create a procedure to select these columns and then create an index on this procedure. In this case, is there a way to specify
which columns to search on?
Option 2= Create 4 separate indexes on these table/columns and then query the columns which user has selected to search on.
Any other better idea?

Hi,
multicolumn only works on columns in the same table.
If you can also query just on one field, then an index per field will be preferable. If you query always on all the fields then the one index approach is good. For this last the options are:
1. Use User_datastore, create a procedure and a dummy column
2. Create a materialized view for the query and build an index on this materialized view
3. Store the fields as an xml in the main table and index the xml column.
The maintanance of options 1 and 3 are bigger, because you need triggers to be aware of an update. Option 2 and 3 will need more storage.
Herald ten Dam
http://htendam.wordpress.com

Similar Messages

  • Can't we use Binary SEARCH  for TYPE SORTED TABLE?(Performance Improvement)

    Hi Expert!
                       I have declare a sorted type table with NON -UNIQUE, and want to use Binary search in read statement. But while  using bunary search in read statement I'm facing an error. The ERROR is
    "Table LI_MARC is a SORTED TABLE or INDEX TABLE. The BINARY SEARCH
    addition is only allowed for these tables if the key specified is an
    initial part of the table key."
    Please find detail
    TYES: tt_marc  TYPE SORTED TABLE OF marc   WITH NON-UNIQUE KEY matnr,werks.
    DATA: li_marc type tt_marc.
    READ TABLE li_marc INTO marc WITH KEY matnr = i_mbew-matnr     
                                                                          werks = i_mbew-bwkey BINARY SEARCH . 
    To my understanding , there is no need to mention Bianry Search  for sorted table TYPE. Please  let me know can  i use ?

    Hello,
    there is no need to mention Bianry Search for sorted table TYPE.
    Yes, this is because for SORTED TABLEs binary search algorithm is used by default for READ TABLE. Although you can use BINARY SEARCH addition but it's use is redundant.
    As for your case you've defined the KEY fields incorrectly There shouldn't be any "comma(s)" between the fields.
    TYPES: tt_marc TYPE SORTED TABLE OF marc WITH NON-UNIQUE KEY matnr werks.
    When you define it with commas
    TYPES: tt_marc TYPE SORTED TABLE OF marc WITH NON-UNIQUE KEY matnr, werks.
    the result is something like this:
    TYPES: tt_marc TYPE SORTED TABLE OF marc WITH NON-UNIQUE KEY matnr.
    TYPES: werks.
    Hence you were getting the syntax error!
    BR,
    Suhas
    PS: As for MARC you can use UNIQUE KEY addition because MATNR & WERKS are the key fields in the table.

  • Using radio button selection in multiple tables

    Hello All,
    I've got a bit of a design issue and it being a Friday my brain is a bit foggy and I can't seem to figure out a solution.
    what I want to do is have 3 tables. The user should only be able to select one line from any of the three tables.
    I can do this by having events that clear down selection on the two other tables on any selection of the third, but the select buttons of tables don't really give the UI impression that only one row can be selected. To do this I'd like to use the radio button element.
    so
    table A
    choice - name
    (o) - Anne
    (o) - Bob
    (o) - Charlie
    Table B
    choice - name
    (x) - David
    (o) - Ellen
    (o) - Fran
    Table C
    choice - name
    (o) - George
    Here the entry in table B for David is selected. But any selection of any of the other options should deselected.
    My thoughts are to use a radio button ui element, bind the "selected" value to a unique id for each row/table (an attribute of the node element for each table) and the value to a common shared attribute (not table specific).
    Any better ideas - and certainly any which would mean I'm not going to have to maintain a lookup table of my unique ids and node elements to find out which one is selected?
    Cheers,
    Chris

    Ok - here's how I did it.
    I created another lookup table which had a guid and reference to the element.
    in the each elements I had a guid which I bound to the key for selection property of the radio button in the table.
    I then bound the selected key property to an attribute that was common to all elements.
    in my "processing" logic I read the selected key, read the lookup table - and therefore got the reference to the selected element.
    Would have been an awful lot easier if I could have used a reference to the element itself as the "key" - but that was required to be a character field.
    [image showing radio button selection working across multiple tables|http://i51.tinypic.com/bi79dx.jpg]
    End result works quite nicely.
    Cheers,
    Chris

  • Need assistance searching records from multiple tables - Please Help!

    Hi, I've been trying to solve this problem for several weeks now, and I have exhausted all of my knowledge and experience.  I need help, and I hope someone here can give me some direction.
    I am using VB 2008, and the CR that comes bundled with VS 2008 Pro.  My database is a SQL Server 2005 CE v3.5 (a *.sdf file).  I am connecting to the database through a dataset, and I am displaying the report in a CrystalReportViewer.
    My dataset consistes of two tables:
    1) tblCustomers which has a primary key "CustID", and contains only customer contact and personal information. 
    2) tblDateVisited which has a primary key of "VisitID", but it also has a column titled "CustID". Basically, every time a customer visits the business, details of that visit are recorded in tblDateVisited, and that record is associated with the customer by their CustID.
    Here's what I'm trying to accomplish:  I want to be able to display only Customer records when the customer has visited and that visit matches certain criteria.  Right now, I am trying to match visits from the "tblVisitDate.PlayerType" column.  If the customer has ever had a visit where they matched a particular player type, I want to see those customer records.
    I don't know what I'm doing wrong, though.  I can search a dataset if I am only querying one table and pulling records from that table.  However, whenever I try to add a second table and perform queries on that table to get records from the first table, I can't return any records. 
    If it helps, I am trying to use one CrystalReportViewer to display multiple reports (user choice) and here's how I'm loading the report into the viewer:
    Me.tblCustomersTableAdapter.Fill(Me.dsPlayerTypeReports.tblCustomers)
    Me.tblDateVisitedTableAdapter.Fill(Me.dsPlayerTypeReports.tblDateVisited)
    Me.ReportFile.SetDataSource(dsPlayerTypeReports.Tables(1))
    I am suspicious that my problem is in the Tables(1) method.  It confuses me that I can only assign one table as a datasource when I obviously need access to two tables to make this selection work. 
    Whatever the case, I'm at the end of my rope with this one.  I'm not prone to giving up, but I'm at a dead end currently. 
    Any attempt to assist me with this will be greatly appreciated, successful or not.
    Thanks in advance!
    -Will

    No, I am connected via ADO.NET.  I don't think SQL CE can connect through ODBC (or if it can, I haven't been able to figure out how, yet).  So this isn't a stored procedure.
    When I examine the link, I can only choose an Inner Join or a Left Outer Join.  Right Outer and Full Outer are not available.  Could this be a problem with the dataset I'm using?
    Could you explain what you mean by display all of the records and then choose the selection criteria?

  • How do I get text inside a table column to stretch the whole column width?

    Hi I am using JDeveloper Studio Edition Version 11.1.1.0.2.
    I have some tables where one of the columns are quite wide (700px) wide and some quite narrow 50px. It doesn´t look pretty. The input text inside the 50px column looks like it stretches out of the column and the inputtext in the 700px column leaves a big empty space in the right side of the column. What I had hoped for is columns which have the same padding to its content as a 100px column no matter the columns width. How do I do that? Do I have to use skinning?

    Well I don´t want the space on both sides of the input text to be that big either so that doesn´t solve the problem.

  • Can we use single DB Adapter for multiple tables

    Hi,
    I have 3 tables. ONE is the Master table and other 2 tables having Primary and foreign key relationships with the Master Table.
    Data is enter in the Tables 2 & 3 (based on Master Table Primary key)
    I have to use a DB Adapter in BPEL Process which will be in Transaction (what type of Transaction is Best in such a Scenario).
    - How do i implement it in BPEL.
    - Can i use a Single DB Adapter for Multiple Tables ? (*Views* should not be created for tables 1, 2 & 3),
    as we want to avoid using multiple DB Adapters, as in future Tables may increase or decrease...
    - while in Transaction if Table 2 fails in Inserting / Updating, it should roll back on error and also if Table 3 fails in Inserting / Updating, it should roll back table 2 and Table 3.
    - how access to concurrent users is maintained / managed in such a scenarios.
    But everything should be done using Single DB Adapter without creating a separate view.
    Is this Possible in BPEL..
    If not, How do we design, Implementation such a BPEL Process in Transaction with a best in Performance (both BPEL Process & DB Resources)
    thanks in advance
    thanks & regards,
    anvv sharma

    Hi,
    Thanks for your quick response.
    I have few quires.
    If we use PL/SQL, how do we implement transaction and Exception Handling appropriately based on the Error / Exception in BPEL.
    If the Table 2 or Table 3 gives out Error / Exception, i have to handle it separately and intimate accordingly.
    Suppose, if Table 2 got Error / Exception - Error Handling would be 'Roll back due to error in Table2'
    Thanks & regads,

  • Item Texts in a Table column

    Hi All,
      I am working on a Purchase Order Adobe Form. We have a requirement to display multiple item level texts i.e. material text, item text and delivery instructions in one of the table column. How can i add all these three item texts in one of the column. For every item, i have to display all these item texts in the same column. Please suggest me how to do this.
    Thanks,
    Kumar

    Hi Kumar,
    Using nested tables you can do something like this.
    for that particular column have a subform (type flowed top to bottom) instead of anyother UI element , with in this subform have your 3 tables for the 3 table type fields. and do data binding as usual.
    If it's with nested subforms.
    1) the main table in a nested subform of flowed western text, so all the individual fields will become coulmn here.
    2) for this specific column of 3 tables have a subform instead.
    3) in this subform have your 3 tables for the texts.
    do the binding as usual.
    in all the cases the context should be similarly nested.
    let me know if you need any more help.
    Cheers,
    Sai.

  • How to set title/text for ALV table column header in WD ABAP

    Hello,
    I am working in WDA using SALV_WD_Table to display data in table. I need to change the column header text, the obvious way is to get the column header and call the method SET_TEXT to set new text / title. However, this method does NOT work, it does not change the column header text. I also tried the SET_TOOLTIP, this one works, but SET_TEXT does not work. Anyone has idea why this not working and do you find any go-around solution?
    My version is NW 7.0
    Thank
    Jayson

    Hi jason ,
    For setting Heder text for your ALV table
    ip_confing type ref to CL_SALV_WD_CONFIG_TABLE.
    "set alv table header
      ip_config->if_salv_wd_table_settings~r_header->set_text( 'Test ALV Header functionality' ).
    first you have to hide the DDIC text and then try to set your own text .
    "modify columns
      LOOP AT lt_columns INTO ls_column.
        lr_column = ls_column-r_column.
        CASE ls_column-id.
          WHEN 'MANDT'.
            "hide this field
            lr_column->set_visible( cl_wd_abstr_table_column=>e_visible-none ).
           WHEN 'SEQNR'.
            "set header to different string
            lr_column->r_header->set_ddic_binding_field( if_salv_wd_c_column_settings=>ddic_bind_none )." use this line to hide ddic text
            lr_column->r_header->set_text( 'Position' ).     
        endcase.
      endloop.
    Regards
    Chinnaiya P

  • WD ABAP: Problem with Header text wrapping in Table Column

    Hi,
    I am unable to achieve Header Text wrapping for the TABLE columns. I have set the property "HeaderTextWrapping" to TRUE for each column and the "Fixed table layout" property has been set to TRUE.
    Is there some property of the table/column I have to set to achieve this? Or does selection of a specific property remove option of HeaderText Wrapping?
    Thanks,
    Adithya

    hi..
    Try increasing the width of column keeping other thing as it is as you have done. And yes check whether cell editor property wrapping is set true.

  • Parsing nested delimited text to multiple tables

    I am attempting to load data from a flat text file into multiple tables, with a 1:N relationship. If possible, I would like to have a control file that is able to update both tables simultaneously and populate the foreign key correctly.
    Here is how the data that I am trying to parse is formatted:
    Field1<TAB>Field2<TAB>RelatedField1/RelatedField2/RelatedField3, RelatedField1/RelatedField2/RelatedField3, RelatedField1/RelatedField2/RelatedField3<CRLF>
    As you can see, there are 3 nested delimitation levels. I would like the first two fields (separated by tabs) to go into the first table, followed by a foreign key that references the second table, which is populated from the data following the second tab. The comma delimiters in the data following the second tab separate individual records to be put into the second table, and the slashes delimit the fields in that table.
    Here is what the two tables should look like:
    Table1
    Table1_PK (Generated automatically by sequence)
    Field1
    Field2
    Table2
    Table2_PK (Generated automatically by sequence)
    Table1_FK (Matches Table1_PK)
    RelatedField1
    RelatedField2
    RelatedField3
    Any suggestions on this would be appreciated. Thank you!
    Message was edited by:
    Timothy (CIAN)
    Message was edited by:
    Timothy (CIAN)

    Another problem is that the number of "records" listed after the second tab varies. For eample:
    Field1<TAB>Field2<TAB>RelatedField1/RelatedField2/RelatedField3<CRLF>
    Field1<TAB>Field2<TAB>RelatedField1/RelatedField2/RelatedField3, RelatedField1/RelatedField2/RelatedField3<CRLF>
    Field1<TAB>Field2<TAB>RelatedField1/RelatedField2/RelatedField3, RelatedField1/RelatedField2/RelatedField3, RelatedField1/RelatedField2/RelatedField3<CRLF>

  • How to use selectOneList in a updateable data table column

    Hi,
    Could someone tell me how to use selectOneList (source from a vo X) in an updateable data table column (from another vo Y)?
    I successfully created a page with the data table. However, strange things happened:
    1) the values populated on the selectOneList column don't match the underlying value in vo Y. in fact, every rows in the column got the same value.
    2) when I update one of the rows, the column value in every other rows turns to the new value.
    3) when I sort other columns in the table, the values shown in the selectOneList column get toggled between blank and some incorrect value.
    I believe it is something related to the fact that the same iterator is used to the source view object. If this is the case, how can I solve it?

    See #7 here:
    http://radio.weblogs.com/0118231/stories/2005/06/24/jdeveloperAdfScreencasts.html

  • How to search text in the table?

    Suppose, I've selected some fragment in my document, and I need to find and replace some text in it. Everything is ok, untill I select a part of a table with this text. Does anyone has idea, how to search through the selected cells in the table? Or, just how to iterate them?
    Thanks!

    var doc = app.ActiveDoc;
    var tbl = doc.SelectedTbl;
    // Navigate to the first selected row.
    var row = tbl.FirstRowInTbl;
    while (row.ObjectValid() === 1) {
        if (row.id === tbl.TopRowSelection.id) {
            break;
        row = row.NextRowInTbl;
    // Process the selected rows.
    while (row.ObjectValid() ===1) {
        cell = row.FirstCellInRow;
        while (cell.ObjectValid() === 1) {
            if ((cell.CellColNum >= tbl.LeftColNum) && (cell.CellColNum <= tbl.RightColNum)) {
                // Do something here...
            cell = cell.NextCellInRow;
        if (row.id === tbl.BottomRowSelection.id) {
            break;
        row = row.NextRowInTbl;
    This should do what you want.
    Rick

  • Search text in Excel table in a Word 2013 document

    Hello,
    someone would be there if there is a file content search tool on Windows (such as Google search or DocFetcher ..)
    that would return a string in an Excel table itself contained in a word document 2013.
    This worked with such DocFetcher with old office version. But since 2013 dox Office Word and Excel xlsx had to change and it no longer works.
    thank you in advance
    greetings.
    JLuc

    Hi Jlcapel,
    Thanks for posting in MSDN forum.
    This forum is for develoers discussing developing issues about
    apps for Office.
    If you want to a tool that supports content searching, I suggest that you search it on the internet.
    >>This worked with such DocFetcher with old office version. But since 2013 dox Office Word and Excel xlsx had to change and it no longer works.<<
    If you have issues about using DocFetcher, I suggest that you contact the verdor of it to get more effective response.
    Regards & Fei
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • Which trigger to use for insert data into db table in Forms

    Hi,
    My form is current having a database block with table reference. When enter data into form field and click on save button. Automatically the record is inserted into database table.
    I want to make this as manual insert. I changed the data block to a non-database. Where should i write the insert statement in order to insert data into table.
    Is it Key-commit trigger at form level?
    Please advise.
    Thanks,
    Yuvaraaj.

    Hi Yuvaraaj.
    Insert should happen when we click on the save which is inbuilt in the form. In this case where should i write the insert statement.Forms in built save commit's the form data where block is based on database not non database.
    @2nd reply
    Ypu are right. The reason i chnaged the database block to non-database is Currently i have a database block with form field canvas which insert only 1 record in to >table when we click on standard save button. The requirement was to add a field called CHANNEL which should have multiple values displayed. (i created this channel >field in a seperate datablock (non database) and used the same canvas.) When we insert data in all fields (single record) and channel we should be able to selected >multiple channel (say A,B and C) when we click on save then 3 records should be inserted in to the table which looping values for each channel. This was the actual >requirement and this is the reason why iam changing the block to non-database block.You are talking about two blocks.. 1. Master block and 2. Details block name channel
    You are inserting one record in master block then insert 3 record name A,B,C for that master record.
    Now you want master record should insert to each A,B,C record. Means
    'how are you' --master record
    and you want
    'A'- 'how are you'
    'B'- 'how are you'
    'C'- 'how are you'OR
    ?Ok. If you want master record save in database and then want to save non-database(channel) data into database USE Post-Insert trigger at block level and do the rest.
    Hope this helps...
    Hamid
    Mark correct/helpful to help others to get right answer(s).*
    Edited by: HamidHelal on Jan 26, 2013 1:20 AM

  • Best way to implement oracle TEXT on multiple tables with regular updates

    Hi,
    I have the following situation:
    5 tables where we want full text search on multiple columns.
    Some of the tables have a master/detail relation. (1 to 1000, or more)
    because of the number of transactions on these tables we can't have a lag in the sync time.
    Currently I have create a dummy table just for the search with 2 columns: for the primary key to all the other tables and one for the update trigger.
    I use the user_datastore with a procedure to join all the necessary columns resulting in a clob.
    My question is regarding the update.
    Of course I can create triggers to update the dummy field in the search table, but this will give lot of updates on that table with possible locking issues.
    What would be the best approach to have this search functionality working?
    I am open for any ideas!
    Thanks,
    Edward

    Ok, I will focus on building a solution on 12c.
    right now I have used a USER_DATASTORE with a procedure to glue all the field together in one document.
    This works fine for the search.
    I have created a dummy table on which the index is created and also has an extra field which contains the key related to all the tables.
    So, I have the following tables:
    dummy_search
    contracts
    contract_ref
    person_data
    nac_data
    and some other tables...
    the current design is:
    the index is on dummy_search.
    When we update contracts table a trigger will update dummy_search.
    same configuration for the other tables.
    Now we see locking issues when having a lot of updates on these tables as the same time.
    What is you advice for this situation?
    Thanks,
    Edward

Maybe you are looking for

  • Open PO  Qty

    Hi I am using the extractor 2LIS_02_SCL for getting the PO Open qty. I have the transformation and have mapped 0CALDAY with Delivery Date.But it is giving me wrong figures. I want to revert to the original condition. Can anyone check and tell me that

  • Panasonic GH4 is not listed in the "Lens correction Profile"

    Hi there, I am using Panasonic GH4 and GX7. And according to my Lightroom 5, it is already the latest version but under the lens crorection profile. I cannot even find the word PANASONIC in the dropdown menu for cameras. Any ideas and tips ? Thank yo

  • Windows 2008 R2 SP1 BSOD

    Hi All, Experience BSOD's throughout the business day on an Windows 2008 R2 SP1 x64 terminal server (hosted on an hyper-v 2008 host) but not outside of business hours (thinking its an application / driver issue). Other virtual machines on this host a

  • Trouble quitting applications in Lion

    iTunes, iPhoto, and now Fire Fox don't seem to want to quit. iTunes and iPhoto will quit (after several minutes) and if I try to force quit either, they are not reported as "not responding". Fire Fox may be an abberation because when it would not res

  • Is the cirrus developer key used as a production server?

    So i have everything set up in my app, but am wondering if the cirrus service key i received (p2p.rtmfp.net/....) is used as a production service since all data is done through p2p? thanks.