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.
Similar Messages
-
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 -
How to use dynamic select query which queries from 3 different table.
Hi All,
I am new to Toplink, i would like to use a named query to select some of the columns from 3 different tables with dynamic where clause.
I have used the following lines. Please tell me how to get code for the dynamic where clause.
First try :
Vector objPersons = (Vector)session.executeQuery("findPersonByGlobalID",Person.class,vQueryArguments);
The above method is not returning the vector or collection.
Second Try:
ReadAllQuery query = new ReadAllQuery(Person.class);
query.useCollectionClass(LinkedList.class);
LinkedList person = (LinkedList) session.executeQuery(query);
The second try is returning the collection but, this fetches all the record from the table.
1. How to query for range of records?
2. How to query from multiple tables for some range. How to use dynamic range values ?
Please reply with your answers or some pointers would help.
Thanks and Regards,
Vijay.BHi,
Did you try using a SQLCall ? It might be able to satisfy you requirements .. :-
Employee employee = (Employee) session.executeSelectingCall(
new SQLCall("SELECT * FROM EMPLOYEE WHERE EMP_ID = 44")
);You can get more information here :-
http://www.oracle.com/technology/products/ias/toplink/doc/1013/MAIN/_html/qrybas004.htm
Regards,
Sandeep -
How to Query Multiple Fields from different Tables using Toplink Expression
Hi,
I am trying to prepare an Oracle Toplink Expression to qurey the multiple columns of different tables. the query as following. Please can anyone help?
SELECT CYCLE.CYCLE_ID,
CYCLE.ASPCUSTOMER_ID,
CYCLE.FACILITYHEADER_ID,
CYCLE.ADDUSER,
ASP.FIRSTNAME || ' ' || ASP.LASTNAME ADDUSERNAME,
CYCLE.ADDDATE,
CYCLE.LASTUPDATEUSER,
ASP.FIRSTNAME || ' ' || ASP.LASTNAME LASTUPDATEUSERNAME,
CYCLE.LASTUPDATEDATE,
CYCLE.CYCLENAME,
CYCLE.CYCLENUMBER,
CYCLE.DESCRIPTION
FROM CYCLE,ASPUSER ASP
WHERE CYCLE.ADDUSER = ASP.ASPUSER_ID
and then i want to send that expression to readAllObjects method as a parameter
Expression exp = (..............this is the required qurey expression...................)
Vector employees = session.readAllObjects(getClass(), exp);
thanks,You havent given any information on the mapping between Cycle and Asp. I presume there is a one to one mapping between them. Also it appears there is no "WHERE" clause to limit the number of cycles being retrieved. If that is the case then I presume you want to load all cycles in the system.
Thats just a clientSession.readAllObjects(Cycle.class). If you have indirection turned on the Asp should get loaded when you do a cycle.getAsp().
I presume that SQL you posted loads all the columns of CYCLE and ASP. If you are interested in a subset of CYCLE or ASP then you should do a ReportQuery or partial object read.
Hi,
I am trying to prepare an Oracle Toplink Expression
to qurey the multiple columns of different tables.
the query as following. Please can anyone help?
SELECT CYCLE.CYCLE_ID,
CYCLE.ASPCUSTOMER_ID,
CYCLE.FACILITYHEADER_ID,
CYCLE.ADDUSER,
ASP.FIRSTNAME || ' ' || ASP.LASTNAME ADDUSERNAME,
CYCLE.ADDDATE,
CYCLE.LASTUPDATEUSER,
ASP.FIRSTNAME || ' ' || ASP.LASTNAME
LASTUPDATEUSERNAME,
CYCLE.LASTUPDATEDATE,
CYCLE.CYCLENAME,
CYCLE.CYCLENUMBER,
CYCLE.DESCRIPTION
FROM CYCLE,ASPUSER ASP
WHERE CYCLE.ADDUSER = ASP.ASPUSER_ID
and then i want to send that expression to
readAllObjects method as a parameter
Expression exp = (..............this is the required
qurey expression...................)
Vector employees = session.readAllObjects(getClass(),
exp);
thanks, -
How to use one email adress for multiple recipients
Hello,
I'd like to know how to use one email adress for multiple recipients.
this would be very useful or projects. for example;
if i send one mail to [email protected], all people in this project get an email.
I will add the people in this project myself.
I know it is possible, but I don't know how to do it ;-)
please help me!Hope this help.
_http://technet.microsoft.com/en-us/library/cc164331(v=exchg.65) .aspx -
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 -
Indexing multiple columns of multiple tables
Hi,
I'm trying to index multiple columns of multiple tables.
As I have seen, the way to do this is using User_Datastore.
have the tables to share a (foreign)key? My tables have only 2 or 3 similar columns(description, tagnr...)
I want to get the different tagnr belonging to the same description etc.
Can I do this?
Has anyone a Samplecode indexing multiple tables?
Any suggestion would be helpful.
ArsinehA USER_DATASTORE works like this:
create table A
( id number primary key,
textA varchar2(100));
create table B
( id number primary key,
textB varchar2(100));
procedure foo (rid in rowid, v_document in out varchar2)
v_textA varchar2(2000);
v_idA number;
v_textB varchar2(2000);
begin
select id, textA
into v_idA, v_textA
from A
where rowid = rid;
select textB
into v_textB
from B
where id = v_idA;
v_document := textA | | ' ' | | textB;
end;
create preferences for USER_DATASTORE
create index ...
on table A ( text) ...
you also can build on table B
This depends where you want the
trigger to be build to sync the
documents.
null -
How to calculate the individual sums of multiple columns in a single query
Hello,
Using Oracle 11gR2 on windows 7 client. I have a question on calculating sum() on multiple columns on different columns and store the results in a view. Unfortunately I could not post the problem here as it keeps on giving error "Sorry, this content is not allowed", without telling where or what it is! So I had to post it in the stack-overflow forum, here is the link: http://stackoverflow.com/questions/16529721/how-to-calculate-the-individual-sums-of-multiple-columns-in-a-single-query-ora
Will appreciate any help or suggestion.
Thanksuser13667036 wrote:
Hello,
Using Oracle 11gR2 on windows 7 client. I have a question on calculating sum() on multiple columns on different columns and store the results in a view. Unfortunately I could not post the problem here as it keeps on giving error "Sorry, this content is not allowed", without telling where or what it is! So I had to post it in the stack-overflow forum, here is the link: http://stackoverflow.com/questions/16529721/how-to-calculate-the-individual-sums-of-multiple-columns-in-a-single-query-ora
Will appreciate any help or suggestion.
ThanksLooks like you want a simple group by.
select
yr
, mnth
, region
, sum(handled_package)
, sum(expected_missing_package)
, sum(actual_missing_package)
from test
group by
yr, mnth, region
order by
yr, mnth, region;I wouldn't recommend storing your data for year / month in 2 columns like that unless you have a really good reason. I would store it as a date column and add a check constraint to ensure that the date is always the first of the month, then format it out as you wish to the client.
CREATE TABLE test
year_month date,
Region VARCHAR2(50),
CITY VARCHAR2(50),
Handled_Package NUMBER,
Expected_Missing_Package NUMBER,
Actual_Missing_Package NUMBER
alter table test add constraint firs_of_month check (year_month = trunc(year_month, 'mm'));
ME_XE?Insert into TEST (year_month, REGION, CITY, HANDLED_PACKAGE, EXPECTED_MISSING_PACKAGE, ACTUAL_MISSING_PACKAGE)
2 Values (to_date('2012-nov-12', 'yyyy-mon-dd'), 'Western', 'San Fransisco', 200, 10, 5);
Insert into TEST (year_month, REGION, CITY, HANDLED_PACKAGE, EXPECTED_MISSING_PACKAGE, ACTUAL_MISSING_PACKAGE)
ERROR at line 1:
ORA-02290: check constraint (TUBBY.FIRS_OF_MONTH) violated
Elapsed: 00:00:00.03
ME_XE?Insert into TEST (year_month, REGION, CITY, HANDLED_PACKAGE, EXPECTED_MISSING_PACKAGE, ACTUAL_MISSING_PACKAGE)
2 Values (to_date('2012-nov-01', 'yyyy-mon-dd'), 'Western', 'San Fransisco', 200, 10, 5);
1 row created.
Elapsed: 00:00:00.01
ME_XE?select
2 to_char(year_month, 'fmYYYY') as year
3 , to_char(year_month, 'fmMonth') as month
4 , Region
5 , CITY
6 , Handled_Package
7 , Expected_Missing_Package
8 , Actual_Missing_Package
9 from test;
YEAR MONTH REGION CITY HANDLED_PACKAGE EXPECTED_MISSING_PACKAGE ACTUAL_MISSING_PACKAGE
2012 November Western San Fransisco 200 10 5
1 row selected.
Elapsed: 00:00:00.01
ME_XE?Then you have nice a nice and easy validation that ensures you data integrity.
Cheers, -
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. -
How to use complex function as condition in Oracle Rule Decision Table?
How to use complex function as condition in Oracle Rule Decision Table?
We want to compare an incoming date range with the date defined in the rules. This date comparison is based on the input date in the fact & the date as defined for each rule. Can this be done in a decision table?I see a couple of problems here.
First, what you posted below is not a syntactically valid query. It seems to be part of a larger query, specifically, this looks to be only the GROUP BY clause of a query.
Prabu ammaiappan wrote:
Hi,
I Have a group function in the Query. Below is the Query i have used it,
GROUP BY S.FREIGHTCLASS,
R.CONTAINERKEY,
S.SKU,
S.DESCR ||S.DESCRIPTION2,
S.PVTYPE,
RD.LOTTABLE06,
R.WAREHOUSEREFERENCE,
RD.TOLOC,
R.ADDWHO,
R.TYPE,
S.CWFLAG,
S.STDNETWGT,
S.ORDERUOM,
R.ADDDATE,
C.DESCRIPTION,
(CASE WHEN P.POKEY LIKE '%PUR%' THEN 'NULL' ELSE to_char(P.PODATE,'dd/mm/yyyy') END),
NVL((CASE WHEN R.ADDWHO='BOOMI' THEN RDD.SUPPLIERNAME END),SS.COMPANY),
RDD.BRAND,
S.NAPA,
RD.RECEIPTKEY,
R.SUSR4,
P.POKEY,
RDD.SUSR1,
r.STATUS, DECODE(RDD.SUSR2,' ',0,'',0,RDD.SUSR2),
rd.SUSR3Second, the answer to your primary question, "How do I add a predicate with with a MAX() function to my where clause?" is that you don't. As you discovered, if you attempt to do so, you'll find it doesn't work. If you stop and think about how SQL is processed, it should make sense to you why the SQL is not valid.
If you want to apply a filter condition such as:
trunc(max(RD.DATERECEIVED)) BETWEEN TO_DATE('01/08/2011','DD/MM/YYYY') AND TO_DATE('01/08/2011','DD/MM/YYYY')you should do it in a HAVING clause, not a where clause:
select ....
from ....
where ....
group by ....
having max(some_date) between this_date and that_date;Hope that helps,
-Mark -
Can i use one interface to load data into 2 different tables
Hi Folks,
Can i use one interface to load data into 2 different tables(same schema or different schemas) from one source table with same structure ?
Please give me advice
Thanks
Raj
Edited by: user11410176 on Oct 21, 2009 9:55 AMHi Lucky,
Thanks for your reply,
What iam trying is ...Iam trying to load the data from legacy tables(3) into oracle staging tables.But i need to load the same source data into two staging tables(these staging tables are in two different schemas)
can i load this source data into two staging tables by using single standard interface(some business logic is there)
If i can then give me some suggestion how to do that
Thanks in advance
Raj -
How can we modify the maximum no. of columns in pivot table ?
hi all,
How can we modify the maximum no. of columns in pivot table ?
do i need to change the nqconfig.ini or instanceconfig file or else?
thnx..A little search on the forum :
In the instanceconfig.xml add a <PivotView> element under <ServerInstance> if one does
not exist already.
Within the <PivotView> element add an entry that looks like:
<MaxCells>nnnnnn</MaxCells>
where nnnnnn is your desired limit for the maximum total number of cells allowed
in a pivot.
Warning: an excessively large number will cause more memory consumption and
slower browser performance.The details here :
Oracle BI EE (10.1.3.2): Maximum total number of cells in Pivot Table excee -
How to use 1 apple id for multiple deivces
How do I use 1 apple id for multiple devices. My son just got new ipod and wants to imessage, but when he does it shows it is from me.
Thank you
-
How to use JList's ensureIndexIsVisible and multiple selection using CTRL
Hello everyone. I am stuck on how to use JList's ensureIndexIsVisible() method and to also allow multiple rows in the list to be selected. Currently, when I begin typing a number stored in the list (i.e. 10001) the focus will go to that row; however, when I press the CTRL key and begin typing another number (i.e. 30001) the focus never goes to the new row. I have a suspicion that I need to cancel out the CTRL key somehow when typing the numbers but also need to keep the knowledge that the CTRL key is pressed to allow for multiple selection. Thanks in advance for your help!
Regards,
WillHello everyone. I am stuck on how to use JList's ensureIndexIsVisible() method and to also allow multiple rows in the list to be selected. Currently, when I begin typing a number stored in the list (i.e. 10001) the focus will go to that row; however, when I press the CTRL key and begin typing another number (i.e. 30001) the focus never goes to the new row. I have a suspicion that I need to cancel out the CTRL key somehow when typing the numbers but also need to keep the knowledge that the CTRL key is pressed to allow for multiple selection. Thanks in advance for your help!
Regards,
Will
Maybe you are looking for
-
Using internal tables in BI 7 Start routines
Hi All I tried searching for using internal tables in a start routine in BI 7 could not find the right pointers. This is what I am trying to do is the following: In a DSO ZSD_O01 I have a sales order and sales order item number and this DSO also con
-
I have an album of a bunch of pictures collected over the course of two years. They are from my old iPhone, and I didn't have a mac at the time. So on my pc, I just backed all my pictures from my old iPhone into a folder. Now I have a mac, and jus
-
Refresh activities listed in workspace inbox automatically
Hi, I have a split-n implemented inside a process. The activity is asigned to a group of persons with a specific role. The first person who executes the activity completes the activity and the process continues, but this activity is still shown in ot
-
Dear all, We have observed a peculiar issue. Some of the JMS Input channels are throwing this error:- "Error establishing JMS connection; error message: MQJMS2005: failed to create MQQueueManager for <IP>:<QM Manager>> MQJE001: An MQException occurre
-
After I close Bookmarks list, a "white" copy stays on the screen
If I open , then close Bookmarks , part of that list remains in white at bottom of window , which is annoying. Does not happen with IE 9