Help with statement
Dear all
I have a process where I have 60 million rows of data in one table. I need to check each row in the table and if the row doesn't exist in my lookup table then I need to remove the row.
Currently this is done by selecting the 60 million rows into a pl/sq table (bulk select fetching 100 rows at a time) and then looping round the pl/sql table checking each row against the lookup table. If the row isn't in the lookup table, the row is deleted from the pl/sql table. Finally all remaining rows in the pl/sql table are bulk inserted into a new table.
Please can anyone provide a better way of doing this?
Many thanks
sorry.. I posted the wrong plan. Here is the one for the delete:
PLAN_TABLE_OUTPUT
Plan hash value: 1388979655
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
| 0 | DELETE STATEMENT | | 41M| 4299M| 129M (4)|433:17:08 |
| 1 | DELETE | GENEVA_INTERFACE_TABLE | | | | |
|* 2 | FILTER | | | | | |
| 3 | TABLE ACCESS FULL| GENEVA_INTERFACE_TABLE | 41M| 4299M| 132K (3)| 00:26:32 |
|* 4 | TABLE ACCESS FULL| GV_ACCEPTABLE_TAGS | 6 | 78 | 3 (0)| 00:00:01 |
PLAN_TABLE_OUTPUT
Predicate Information (identified by operation id):
2 - filter( NOT EXISTS (SELECT /*+ */ 0 FROM "GV_ACCEPTABLE_TAGS" "T" WHERE
"T"."TAG_NAME"=SUBSTR(:B1,1,INSTR(:B2,' '))))
4 - filter("T"."TAG_NAME"=SUBSTR(:B1,1,INSTR(:B2,' ')))
sorry.....
Similar Messages
-
SELECT * FROM table WHERE id NOT IN? Help with statement.
Hi,
Two tables. Orders (orderID = PK) and Paid Orders (orderID =
FK)
I want to display a recordset of orders from the Orders table
where the
order ID doesn't appear in the Paid Orders table.
I have tried something like this:
SELECT *
FROM dbo.tblOrders
WHERE orderID NOT IN ( SELECT TOP 100 PERCENT
tblPaidOrders.orderID FROM
dbo.tblPaidOrders )
...no joy with that though. Would appreciate some guidance.
Thank you.
Regards
Nath.Hi Nancy,
Before I begin that, can I ask if there is an issue with the
OR?
I need it to be:
(orderID IN (SELECT qryPaidOrders.orderID FROM qryPaidOrders)
ORDER BY
orderdate ASC) AND ((customerid = MMColParam1) OR (vanopID =
MMColParam2))
MMColParam1 is exactly the same as MMColParam but, for some
reason
unbeknowns to me, DW8.0.2 won't allow me to use it twice.
That's neither
here nor there though, as creating a 2nd variable
(MMColParam2) solves that
particular issue.
Do I need additional ( ) anywhere considering it is an OR
though?
Thanks.
nath.
"Nancy *Adobe Community Expert*" <[email protected]>
wrote in message
news:[email protected]...
>I would think so .. now that you have the core statement
working .. try
>adding the other portions. Put the main statement in ( )
and add the
>others. Like this:
>
> SELECT *
> FROM dbo.qryOrders
> WHERE (orderID IN (SELECT qryPaidOrders.orderID FROM
qryPaidOrders)
> ORDER BY orderdate ASC) AND (customerid = MMColParam1)
AND (vanopID =
> MMColParam2)
>
> See what that gives you and fiddle with those till you
get what you want.
>
>
> --
> Nancy Gill
> Adobe Community Expert
> BLOG:
http://www.dmxwishes.com/blog.asp
> Author: Dreamweaver 8 e-book for the DMX Zone
> Co-Author: Dreamweaver MX: Instant Troubleshooter
(August, 2003)
> Technical Editor: DMX 2004: The Complete Reference, DMX
2004: A
> Beginner's
> Guide, Mastering Macromedia Contribute
> Technical Reviewer: Dynamic Dreamweaver MX/DMX: Advanced
PHP Web
> Development
>
>
>
>
> "tradmusic.com" <[email protected]> wrote
in message
> news:[email protected]...
>> Hi,
>>
>> After a bit of twiddling, I changed the statement to
this:
>>
>> SELECT *
>> FROM dbo.qryOrders
>> WHERE orderID IN (SELECT qryPaidOrders.orderID FROM
qryPaidOrders)
>> ORDER BY orderdate ASC
>>
>> ...and it displays only those records who appear in
the Paid Orders
>> table. If I change this to NOT IN, it displays only
the orders in the
>> Orders table.
>>
>> Ideal, but I need to apply the customerID and
vanopID variables....is
>> that possible within this one statement?
>>
>> Really appreciate the help,
>> Regards
>> Nath.
>>
>> "Nancy *Adobe Community Expert*"
<[email protected]> wrote in message
>> news:[email protected]...
>>> You've added to it since the first post. Take
out the customerID and
>>> vanopID parts and try focusing on just the
orderID part. Get that
>>> working first.
>>>
>>> I would try seeing if you can select those
orderID's that are IN the
>>> subquery first .. that would see whether or not
the problem is the NOT
>>> .. which should work .. but let's see first
whether the culprit is the
>>> query structure or not. See if you can select
the orderID's that are in
>>> the paid orders table from the main query.
>>>
>>>
>>> --
>>> Nancy Gill
>>> Adobe Community Expert
>>> BLOG:
http://www.dmxwishes.com/blog.asp
>>> Author: Dreamweaver 8 e-book for the DMX Zone
>>> Co-Author: Dreamweaver MX: Instant
Troubleshooter (August, 2003)
>>> Technical Editor: DMX 2004: The Complete
Reference, DMX 2004: A
>>> Beginner's
>>> Guide, Mastering Macromedia Contribute
>>> Technical Reviewer: Dynamic Dreamweaver MX/DMX:
Advanced PHP Web
>>> Development
>>>
>>>
>>> "tradmusic.com"
<[email protected]> wrote in message
>>> news:[email protected]...
>>>> Hi Nancy,
>>>>
>>>> Have just tried that, but it is still
displaying records whose orderID
>>>> is also in a record in the Paid Orders
table?
>>>>
>>>> I've got:
>>>>
>>>> SELECT *
>>>> FROM dbo.qryOrders
>>>> WHERE customerID = MMColParam OR vanopID =
MMColParam1 AND orderID NOT
>>>> IN (SELECT qryPaidOrders.orderID FROM
qryPaidOrders)
>>>> ORDER BY orderdate ASC
>>>>
>>>> Hope you can help.
>>>> Thanks. :o)
>>>> Nath.
>>>>
>>>>
>>>> "Nancy *Adobe Community Expert*"
<[email protected]> wrote in message
>>>> news:[email protected]...
>>>>> Why couldn't your inner query just be
SELECT orderID from
>>>>> dbo.tblPaidOrders? Wouldn't the top 100%
be all of them?
>>>>>
>>>>>
>>>>> --
>>>>> Nancy Gill
>>>>> Adobe Community Expert
>>>>> BLOG:
http://www.dmxwishes.com/blog.asp
>>>>> Author: Dreamweaver 8 e-book for the DMX
Zone
>>>>> Co-Author: Dreamweaver MX: Instant
Troubleshooter (August, 2003)
>>>>> Technical Editor: DMX 2004: The Complete
Reference, DMX 2004: A
>>>>> Beginner's
>>>>> Guide, Mastering Macromedia Contribute
>>>>> Technical Reviewer: Dynamic Dreamweaver
MX/DMX: Advanced PHP Web
>>>>> Development
>>>>>
>>>>>
>>>>> "tradmusic.com"
<[email protected]> wrote in message
>>>>>
news:[email protected]...
>>>>>> Hi,
>>>>>>
>>>>>> Two tables. Orders (orderID = PK)
and Paid Orders (orderID = FK)
>>>>>> I want to display a recordset of
orders from the Orders table where
>>>>>> the order ID doesn't appear in the
Paid Orders table.
>>>>>>
>>>>>> I have tried something like this:
>>>>>>
>>>>>> SELECT *
>>>>>> FROM dbo.tblOrders
>>>>>> WHERE orderID NOT IN ( SELECT TOP
100 PERCENT tblPaidOrders.orderID
>>>>>> FROM dbo.tblPaidOrders )
>>>>>>
>>>>>> ...no joy with that though. Would
appreciate some guidance. Thank
>>>>>> you.
>>>>>>
>>>>>> Regards
>>>>>> Nath.
>>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>
>>>
>>
>>
>
> -
I am implementing my application using state machines, and I have the following problem.
1. I have an initialized state that will initialize my controls.
2. Next I want the next state to check for user input.(boolean button will be pressed to determine which state is next).
3. In one of the states, I want the user to be able to change the initialized values, and afterwards go back to the user input state, to determine which state is next
I have implemented the initialize state as well as the user input state(use event structure for that state), but I do not know how to let the user be able to change the values of my control , then the user acknowledges the change, and the state goes back to the user input state waiting for the next state.
Thanks for any help
Solved!
Go to Solution.Thank you Ravens Fan, I did not really understand your message. I have a simplified version of what I am trying to accomplish.
1. I have 3 controls and one indicator
2. When the Vi is run , the controls should initialize to the values in the intialize state. The next state will now be the user input state.
3. When at the user input, the user can either press the "analyze button" and the result will be displayed in the indicator. or the the stop button to stop the simulation, or
4. The user can change the values of the control, after all the controls have been changed to his desired values, he can then press "accept values" and the state goes back to the "user input".
Thank you for any help
Attachments:
example.vi 26 KB
example control.ctl 5 KB -
Help with if statement in cursor and for loop to get output
I have the following cursor and and want to use if else statement to get the output. The cursor is working fine. What i need help with is how to use and if else statement to only get the folderrsn that have not been updated in the last 30 days. If you look at the talbe below my select statement is showing folderrs 291631 was updated only 4 days ago and folderrsn 322160 was also updated 4 days ago.
I do not want these two to appear in my result set. So i need to use if else so that my result only shows all folderrsn that havenot been updated in the last 30 days.
Here is my cursor:
/*Cursor for Email procedure. It is working Shows userid and the string
You need to update these folders*/
DECLARE
a_user varchar2(200) := null;
v_assigneduser varchar2(20);
v_folderrsn varchar2(200);
v_emailaddress varchar2(60);
v_subject varchar2(200);
Cursor c IS
SELECT assigneduser, vu.emailaddress, f.folderrsn, trunc(f.indate) AS "IN DATE",
MAX (trunc(fpa.attemptdate)) AS "LAST UPDATE",
trunc(sysdate) - MAX (trunc(fpa.attemptdate)) AS "DAYS PAST"
--MAX (TRUNC (fpa.attemptdate)) - TRUNC (f.indate) AS "NUMBER OF DAYS"
FROM folder f, folderprocess fp, validuser vu, folderprocessattempt fpa
WHERE f.foldertype = 'HJ'
AND f.statuscode NOT IN (20, 40)
AND f.folderrsn = fp.folderrsn
AND fp.processrsn = fpa.processrsn
AND vu.userid = fp.assigneduser
AND vu.statuscode = 1
GROUP BY assigneduser, vu.emailaddress, f.folderrsn, f.indate
ORDER BY fp.assigneduser;
BEGIN
FOR c1 IN c LOOP
IF (c1.assigneduser = v_assigneduser) THEN
dbms_output.put_line(' ' || c1.folderrsn);
else
dbms_output.put(c1.assigneduser ||': ' || 'Overdue Folders:You need to update these folders: Folderrsn: '||c1.folderrsn);
END IF;
a_user := c1.assigneduser;
v_assigneduser := c1.assigneduser;
v_folderrsn := c1.folderrsn;
v_emailaddress := c1.emailaddress;
v_subject := 'Subject: Project for';
END LOOP;
END;
The reason I have included the folowing table is that I want you to see the output from the select statement. that way you can help me do the if statement in the above cursor so that the result will look like this:
emailaddress
Subject: 'Project for ' || V_email || 'not updated in the last 30 days'
v_folderrsn
v_folderrsn
etc
[email protected]......
Subject: 'Project for: ' Jim...'not updated in the last 30 days'
284087
292709
[email protected].....
Subject: 'Project for: ' Kim...'not updated in the last 30 days'
185083
190121
190132
190133
190159
190237
284109
286647
294631
322922
[email protected]....
Subject: 'Project for: Joe...'not updated in the last 30 days'
183332
183336
[email protected]......
Subject: 'Project for: Sam...'not updated in the last 30 days'
183876
183877
183879
183880
183881
183882
183883
183884
183886
183887
183888
This table is to shwo you the select statement output. I want to eliminnate the two days that that are less than 30 days since the last update in the last column.
Assigneduser....Email.........Folderrsn...........indate.............maxattemptdate...days past since last update
JIM......... jim@ aol.com.... 284087............. 9/28/2006.......10/5/2006...........690
JIM......... jim@ aol.com.... 292709............. 3/20/2007.......3/28/2007............516
KIM......... kim@ aol.com.... 185083............. 8/31/2004.......2/9/2006............. 928
KIM...........kim@ aol.com.... 190121............. 2/9/2006.........2/9/2006.............928
KIM...........kim@ aol.com.... 190132............. 2/9/2006.........2/9/2006.............928
KIM...........kim@ aol.com.... 190133............. 2/9/2006.........2/9/2006.............928
KIM...........kim@ aol.com.... 190159............. 2/13/2006.......2/14/2006............923
KIM...........kim@ aol.com.... 190237............. 2/23/2006.......2/23/2006............914
KIM...........kim@ aol.com.... 284109............. 9/28/2006.......9/28/2006............697
KIM...........kim@ aol.com.... 286647............. 11/7/2006.......12/5/2006............629
KIM...........kim@ aol.com.... 294631............. 4/2/2007.........3/4/2008.............174
KIM...........kim@ aol.com.... 322922............. 7/29/2008.......7/29/2008............27
JOE...........joe@ aol.com.... 183332............. 1/28/2004.......4/23/2004............1585
JOE...........joe@ aol.com.... 183336............. 1/28/2004.......3/9/2004.............1630
SAM...........sam@ aol.com....183876.............3/5/2004.........3/8/2004.............1631
SAM...........sam@ aol.com....183877.............3/5/2004.........3/8/2004.............1631
SAM...........sam@ aol.com....183879.............3/5/2004.........3/8/2004.............1631
SAM...........sam@ aol.com....183880.............3/5/2004.........3/8/2004.............1631
SAM...........sam@ aol.com....183881.............3/5/2004.........3/8/2004.............1631
SAM...........sam@ aol.com....183882.............3/5/2004.........3/8/2004.............1631
SAM...........sam@ aol.com....183883.............3/5/2004.........3/8/2004.............1631
SAM...........sam@ aol.com....183884.............3/5/2004.........3/8/2004............ 1631
SAM...........sam@ aol.com....183886.............3/5/2004.........3/8/2004............ 1631
SAM...........sam@ aol.com....183887.............3/5/2004.........3/8/2004............ 1631
SAM...........sam@ aol.com....183888.............3/5/2004.........3/8/2004............ 1631
PAT...........pat@ aol.com.....291630.............2/23/2007.......7/8/2008............ 48
PAT...........pat@ aol.com.....313990.............2/27/2008.......7/28/2008............28
NED...........ned@ aol.com.....190681.............4/4/2006........8/10/2006............746
NED...........ned@ aol.com......95467.............6/14/2006.......11/6/2006............658
NED...........ned@ aol.com......286688.............11/8/2006.......10/3/2007............327
NED...........ned@ aol.com.....291631.............2/23/2007.......8/21/2008............4
NED...........ned@ aol.com.....292111.............3/7/2007.........2/26/2008............181
NED...........ned@ aol.com.....292410.............3/15/2007.......7/22/2008............34
NED...........ned@ aol.com.....299410.............6/27/2007.......2/27/2008............180
NED...........ned@ aol.com.....303790.............9/19/2007.......9/19/2007............341
NED...........ned@ aol.com.....304268.............9/24/2007.......3/3/2008............ 175
NED...........ned@ aol.com.....308228.............12/6/2007.......12/6/2007............263
NED...........ned@ aol.com.....316689.............3/19/2008.......3/19/2008............159
NED...........ned@ aol.com.....316789.............3/20/2008.......3/20/2008............158
NED...........ned@ aol.com.....317528.............3/25/2008.......3/25/2008............153
NED...........ned@ aol.com.....321476.............6/4/2008.........6/17/2008............69
NED...........ned@ aol.com.....322160.............7/3/2008.........8/21/2008............4
MOE...........moe@ aol.com.....184169.............4/5/2004.......12/5/2006............629
[email protected]/27/2004.......3/8/2004............1631
How do I incorporate a if else statement in the above cursor so the two days less than 30 days since last update are not returned. I do not want to send email if the project have been updated within the last 30 days.
Edited by: user4653174 on Aug 25, 2008 2:40 PManalytical functions: http://download-west.oracle.com/docs/cd/B10501_01/server.920/a96540/functions2a.htm#81409
CASE
http://download.oracle.com/docs/cd/B10501_01/appdev.920/a96624/02_funds.htm#36899
http://download.oracle.com/docs/cd/B10501_01/appdev.920/a96624/04_struc.htm#5997
Incorporating either of these into your query should assist you in returning the desired results. -
Hi,
First Special thanks to Kglad for the help with the AS1 to AS3 conversion.
I've been able to link up my buttons to play a different frames of the movie. this was my novice way of finally getting the programming to work.
In frame 95 I have
var myLoader:Loader = new Loader();
addChild(myLoader); var url:URLRequest = new URLRequest("page1.swf");
myLoader.load(url);
in frame 165:
var myLoader1:Loader = new Loader();
addChild(myLoader1); var url1:URLRequest = new URLRequest("page1.swf");
myLoader1.load(url1);
My buttons link to 116 which plays a frame and loads ^
in frame 226: removeChild(myLoader).
But if the user has looped back into home from another part in the movie clip then it would need to remove myLoader1 instead of myLoader.
I'm guessing there is some really dynamic way to solve the programatic nightmare i'm developing, but I'm really novice.
So what i need is an if statement for frame 226
That would do something:
if(myLoader <> null
removeChild(myLoader)
else(
removechild(myLoader1)
Anyone have a method for this?yes, you can use the same urlrequest but just change its url property:
// initialize, for example in frame 1. this is done once and never again:
var loader:Loader=new Loader();
var urlR:URLRequest=new URLRequest();
// then in frame 2, for example:
urlR.url="page1.swf";
loader.load(urlR);
// in frame 20, for example:
urlR.url="page2.swf";
loader.load(urlR);
// in frame 30, for example:
urlR.url="page3.swf";
loader.load(urlR);
//etc. if you're loading any swfs that play streams (sound or video), you'll want to add some code to this. -
Need help with the session state value items.
I need help with the session state value items.
Trigger is created (on After delete, insert action) on table A.
When insert in table B at least one row, then trigger update value to 'Y'
in table A.
When delete all rows from a table B,, then trigger update value to 'N'
in table A.
In detail report changes are visible, but the trigger replacement value is not set in session value.
How can I implement this?You'll have to create a process which runs after your database update process that does a query and loads the result into your page item.
For example
SELECT YN_COLUMN
FROM My_TABLE
INTO My_Page_Item
WHERE Key_value = My_Page_Item_Holding_Key_ValueThe DML process will only return key values after updating, such as an ID primary key updated by a sequence in a trigger.
If the value is showing in a report, make sure the report refreshes on reload of the page.
Edited by: Bob37 on Dec 6, 2011 10:36 AM -
Help with Switch statements using Enums?
Hello, i need help with writing switch statements involving enums. Researched a lot but still cant find desired answer so going to ask here. Ok i'll cut story short.
Im writing a calculator program. The main problem is writing code for controlling the engine of calculator which sequences of sum actions.
I have enum class on itself. Atm i think thats ok. I have another class - the engine which does the work.
I planned to have a switch statement which takes in parameter of a string n. This string n is received from the user interface when users press a button say; "1 + 2 = " which each time n should be "1", "+", "2" and "=" respectively.
My algorithm would be as follows checking if its a operator(+) a case carry out adding etc.. each case producing its own task. ( I know i can do it with many simple if..else but that is bad programming technique hence im not going down that route) So here the problem arises - i cant get the switch to successfully complete its task... How about look at my code to understand it better.
I have posted below all the relevant code i got so far, not including the swing codes because they are not needed here...
ValidOperators v;
public Calculator_Engine(ValidOperators v){
stack = new Stack(20);
//The creation of the stack...
this.v = v;
public void main_Engine(String n){
ValidOperators v = ValidOperators.numbers;
*vo = vo.valueOf(n);*
switch(v){
case Add: add(); break;
case Sub: sub(); break;
case Mul: Mul(); break;
case Div: Div(); break;
case Eq:sum = stack.sPop(); System.out.println("Sum= " + sum);
default: double number = Integer.parseInt(n);
numberPressed(number);
break;
//default meaning its number so pass it to a method to do a job
public enum ValidOperators {
Add("+"), Sub("-"), Mul("X"), Div("/"),
Eq("="), Numbers("?"); }
Notes*
It gives out error: "No enum const class ValidOperators.+" when i press button +.
It has nothing to do with listeners as it highlighted the error is coming from the line:switch(v){
I think i know where the problem is.. the line "vo = vo.valueOf(n);"
This line gets the string and store the enum as that value instead of Add, Sub etc... So how would i solve the problem?
But.. I dont know how to fix it. ANy help would be good
Need more info please ask!
Thanks in advance.demo:
import java.util.*;
public class EnumExample {
enum E {
STAR("*"), HASH("#");
private String symbol;
private static Map<String, E> map = new HashMap<String, E>();
static {
put(STAR);
put(HASH);
public String getSymbol() {
return symbol;
private E(String symbol) {
this.symbol = symbol;
private static void put(E e) {
map.put(e.getSymbol(), e);
public static E parse(String symbol) {
return map.get(symbol);
public static void main(String[] args) {
System.out.println(E.valueOf("STAR")); //succeeds
System.out.println(E.parse("*")); //succeeds
System.out.println(E.parse("STAR")); //fails: null
System.out.println(E.valueOf("*")); //fails: IllegalArgumentException
} -
I need help with this code error "unreachable statement"
the error_
F:\Java\Projects\Tools.java:51: unreachable statement <-----------------------------------------------------------------------------------------------------------------THIS
int index;
^
F:\Java\Projects\Tools.java:71: missing return statement
}//end delete method
^
F:\Java\Projects\Tools.java:86: missing return statement
}//end getrecod
^
3 errors
import java.util.*;
import javax.swing.*;
import java.awt.*;
public class Tools//tool class
private int numberOfToolItems;
private ToolItems[] toolArray = new ToolItems[10];
public Tools()//array of tool
numberOfToolItems = 0;
for(int i = 0; i < toolArray.length; i++)//for loop to create the array tools
toolArray[i] = new ToolItems();
}//end for loop
}//end of array of tools
public int search(int id)//search mehtod
int index = 0;
while (index < numberOfToolItems)//while and if loop search
if(toolArray[index].getID() == id)
return index;
else
index ++;
}//en while and if loop
return -1;
}//end search method
public int insert(int id, int numberInStock, int quality, double basePrice, String nm)//insert method
if(numberOfToolItems >= toolArray.length)
return 0;
int index;
index = search(id); <-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------HERE
if (index == -1)
toolArray[index].assign(id,numberInStock, quality, basePrice,nm);
numberInStock ++;
return 1;
}//end if index
}//end if toolitem array
return -1;
}//end insert method
public int delete(/*int id*/)//delete method
}//end delete method
public void display()//display method
for(int i = 0; i < numberOfToolItems; i++)
//toolArray.display(g,y,x);
}//end display method
public String getRecord(int i)//get record method
// return toolArray[i].getName()+ "ID: "+toolArray[i].getID()
}//end getrecod
}//end class
Edited by: ladsoftware on Oct 9, 2009 6:08 AM
Edited by: ladsoftware on Oct 9, 2009 6:09 AM
Edited by: ladsoftware on Oct 9, 2009 6:10 AM
Edited by: ladsoftware on Oct 9, 2009 6:11 AMladsoftware wrote:
Subject: Re: I need help with this code error "unreachable statement"
F:\Java\Projects\Tools.java:51: unreachable statement <-----------------------------------------------------------------------------------------------------------------THIS
int index;
^
F:\Java\Projects\Tools.java:71: missing return statement
}//end delete method
^
F:\Java\Projects\Tools.java:86: missing return statement
}//end getrecod
^
3 errorsThe compiler is telling you exactly what the problems are:
public int insert(int id, int numberInStock, int quality, double basePrice, String nm)//insert method
if(numberOfToolItems >= toolArray.length)
return 0; // <<== HERE you return, so everyting in the if block after this is unreachable
int index;
index = search(id); //< -----------------------------------------------------------------------------------------------------------------HERE
if (index == -1)
toolArray[index].assign(id,numberInStock, quality, basePrice,nm);
numberInStock ++;
return 1;
}//end if index
}//end if toolitem array
return -1;
}//end insert method
public int delete(/*int id*/)//delete method
// <<== HERE where is the return statement?
}//end delete method
public String getRecord(int i)//get record method
// return toolArray.getName()+ "ID: "+toolArray[i].getID() <<== HERE you commented out the return statement
}//end getrecod
}//end class -
Help with this update statement..
Hi everyone,
I am trying to update a column in a table .I need to update that column
with a function that takes patient_nbr and type_x column values as a parameter.
That table has almost "300,000" records. It is taking long time to complete
almost 60 min to 90 min.
Is it usual to take that much time to update that many records?
I dont know why it is taking this much time.Please help with this update statement.
select get_partner_id(SUBSTR(patient_nbr,1,9),type_x) partner_id from test_load;
(it is just taking 20 - 30 sec)
I am sure that it is not the problem with my function.
I tried the following update and merge statements .Please correct me if i am wrong
in the syntax and give me some suggestions how can i make the update statement fast.
update test_load set partner_id = get_partner_id(SUBSTR(patient_nbr,1,9),type_x);
merge into test_load a
using (select patient_nbr,type_x from test_load) b
on (a.patient_nbr = b.patient_nbr)
when matched
then
update
set a.partner_id = get_partner_id(SUBSTR(b.patient_nbr,1,9),b.type_x);
there is a index on patient_nbr column
and the statistics are gathered on this table.Hi Justin,
As requested here are the explain plans for my update statements.Please correct if i am doing anything wrong.
update test_load set partner_id = get_partner_id(SUBSTR(patient_nbr,1,9),type_x);
"PLAN_TABLE_OUTPUT"
"Plan hash value: 3793814442"
"| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |"
"| 0 | UPDATE STATEMENT | | 274K| 4552K| 1488 (1)| 00:00:18 |"
"| 1 | UPDATE | TEST_LOAD | | | | |"
"| 2 | TABLE ACCESS FULL| TEST_LOAD | 274K| 4552K| 1488 (1)| 00:00:18 |"
merge into test_load a
using (select patient_nbr,type_x from test_load) b
on (a.patient_nbr = b.patient_nbr)
when matched
then
update
set a.partner_id = get_partner_id(SUBSTR(b.patient_nbr,1,9),b.type_x);
"PLAN_TABLE_OUTPUT"
"Plan hash value: 1188928691"
"| Id | Operation | Name | Rows | Bytes |TempSpc| Cost (%CPU)| Time |"
"| 0 | MERGE STATEMENT | | 274K| 3213K| | 6660 (1)| 00:01:20 |"
"| 1 | MERGE | TEST_LOAD | | | | | |"
"| 2 | VIEW | | | | | | |"
"|* 3 | HASH JOIN | | 274K| 43M| 7232K| 6660 (1)| 00:01:20 |"
"| 4 | TABLE ACCESS FULL| TEST_LOAD | 274K| 4017K| | 1482 (1)| 00:00:18 |"
"| 5 | TABLE ACCESS FULL| TEST_LOAD | 274K| 40M| | 1496 (2)| 00:00:18 |"
"Predicate Information (identified by operation id):"
" 3 - access("A"."patient_nbr"="patient_nbr")"Please give some suggestions..
what's the best approach for doing the updates for huge tables?
Thanks -
Help with if statement for a beginner.
Hello, Im new to the dev lark and wondered if someone could point me in the right direction.
I have the following (working!) app that lets users press a few buttons instead of typing console commands (please do not be too critical of it, its my first work prog).
//DBS File send and Receive app 1.0
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import java.applet.Applet;
public class Buttons extends JFrame
public Buttons()
super("DBS 2");
JTextArea myText = new JTextArea ("Welcome to the DBS application." +
"\n" +
"\n\n1. If you have received an email informing you that the DBS is ready to dowload please press the \"Receive DBS\" button." +
"\n" +
"\n1. Once this has been Received successfully please press the \"Prep File\" button." +
"\n\n2. Once the files have been moved to their appropriate locations, please do the \"Load\" into PAS." +
"\n\n3. Once the \"Load\" is complete, do the \"Extract\"." +
"\n\n4. When the \"Extract\" has taken place please press the \"File Shuffle\" button." +
"\n\n5. When the files have been shuffled, please press the \"Send DBS\" Button." +
"\n\nJob done." +
"\n", 20,50);
JPanel holdAll = new JPanel();
JPanel topPanel = new JPanel();
JPanel bottomPanel = new JPanel();
JPanel middle1 = new JPanel();
JPanel middle2 = new JPanel();
JPanel middle3 = new JPanel();
topPanel.setLayout(new FlowLayout());
middle1.setLayout(new FlowLayout());
middle2.setLayout(new FlowLayout());
middle3.setLayout(new FlowLayout());
bottomPanel.setLayout(new FlowLayout());
myText.setBackground(new java.awt.Color(0, 0, 0));
myText.setForeground(new java.awt.Color(255,255,255));
myText.setFont(new java.awt.Font("Times",0, 16));
myText.setLineWrap(true);
myText.setWrapStyleWord(true);
holdAll.setLayout(new BorderLayout());
topPanel.setBackground(new java.awt.Color(153, 101, 52));
bottomPanel.setForeground(new java.awt.Color(153, 0, 52));
holdAll.add(topPanel, BorderLayout.CENTER);
topPanel.add(myText, BorderLayout.NORTH);
setSize(700, 600);
setDefaultCloseOperation(EXIT_ON_CLOSE);
getContentPane().add(holdAll, BorderLayout.CENTER);
Container c = getContentPane();
c.setLayout(new FlowLayout());
final JButton receiveDBS = new JButton("Receive DBS"); //marked as final as it is called in an Inner Class later
final JButton filePrep = new JButton("Prep File");
final JButton fileShuffle = new JButton("File Shuffle");
final JButton sendDBS = new JButton("Send DBS");
JButton exitButton = new JButton("Exit");
// JLabel statusbar = new JLabel("Text here");
receiveDBS.setFont(new java.awt.Font("Arial", 0, 25));
filePrep.setFont(new java.awt.Font("Arial", 0, 25));
fileShuffle.setFont(new java.awt.Font("Arial", 0, 25));
sendDBS.setFont(new java.awt.Font("Arial", 0, 25));
exitButton.setBorderPainted ( false );
exitButton.setMargin( new Insets ( 10, 10, 10, 10 ));
exitButton.setToolTipText( "EXIT Button" );
exitButton.setFont(new java.awt.Font("Arial", 0, 20));
exitButton.setEnabled(true); //Set to (false) to disable
exitButton.setForeground(new java.awt.Color(0, 0, 0));
exitButton.setHorizontalTextPosition(SwingConstants.CENTER); //Don't know what this does
exitButton.setBounds(10, 30, 90, 50); //Don't know what this does
exitButton.setBackground(new java.awt.Color(153, 101, 52));
topPanel.add(receiveDBS);
middle1.add(filePrep);
middle2.add(exitButton);
middle3.add(fileShuffle);
bottomPanel.add(sendDBS);
receiveDBS.addActionListener(new ActionListener()
public void actionPerformed(ActionEvent ae)
if (ae.getSource() == receiveDBS);
try
Runtime.getRuntime().exec("cmd.exe /c start c:\\DBS\\ReceiveDBSfile.bat");
catch(Exception e)
System.out.println(e.toString());
e.printStackTrace();
filePrep.addActionListener(new ActionListener()
public void actionPerformed(ActionEvent ae)
if (ae.getSource() == filePrep);
try
Runtime.getRuntime().exec("cmd.exe /c start c:\\DBS\\filePrep.bat");
catch(Exception e)
System.out.println(e.toString());
e.printStackTrace();
exitButton.addActionListener(new ActionListener()
public void actionPerformed(ActionEvent ae)
System.exit(0);
fileShuffle.addActionListener(new ActionListener()
public void actionPerformed(ActionEvent ae)
if (ae.getSource() == fileShuffle);
try
Runtime.getRuntime().exec("cmd.exe /c start c:\\DBS\\fileShuffle.bat");
catch(Exception e)
System.out.println(e.toString());
e.printStackTrace();
sendDBS.addActionListener(new ActionListener()
public void actionPerformed(ActionEvent ae)
if (ae.getSource() == sendDBS);
try
Runtime.getRuntime().exec("cmd.exe /c start c:\\DBS\\sendDBSFile.bat");
catch(Exception e)
System.out.println(e.toString());
e.printStackTrace();
c.add(receiveDBS);
c.add(filePrep);
c.add(fileShuffle);
c.add(sendDBS);
c.add(exitButton);
// c.add(statusbar);
public static void main(String args[])
Buttons xyz = new Buttons();
xyz.setVisible(true);
}What I would like help with is the following
I would like output to either a JLabel or JTextArea to appear if a file appears on the network. Something along these lines
If file named nststrace*.* is in \\[network path] then output Download successful, please proceed.
btw I have done my best to search this forum for something similar and had no luck, but I am looking forward to Encephalopathics answer as he/she has consistently made me laugh with posted responses (in a good way).
Thanks in advance, Paul.Hospital_Apps_Monkey wrote:
we're starting to get aquainted, but I think "best friend" could take a while as it is still as hard going as I recall, but I will persevere.Heh, it's not so bad! For example, if I had no idea how to test whether a file exists, I would just scan the big list of classes on the left for names that sound like they might include File operations. Hey look, File! Then I'd look at all of File's methods for something that tests whether it exists or not. Hey, exists! Then if I still couldn't figure out how to use it, I'd do a google search on that particular method. -
Help with a select statement from a SQL Server within a DTS !!
Hello Gurus!
I help with the script bellow, when I run it within DTS (in SQL Sever 2000), I got the error Invalid number/or not a valid month.
Please bellow with the WHERE CLASUE '08/01/2001' AND '03/09/2002'
And in the other hand I change this forma to '01-AUG-01' AND
'03-MAR-2002', the DTS start and run witha successful messages, but it does not returns row, which is wrong.
Somebady please help!
Thanks Gurus!
GET Total ANIs with Trafic By Area Code
select
substr(b.ct_num, 0,3) as Area_Codes,
COUNT(DISTINCT B.CT_NUM) AS ANIS
from
wasabi.v_trans A,
wasabi.V_Sur_Universal B,
wasabi.V_Sub C,
wasabi.V_Trans_Typ D
where
D.Trans_typ = A.Trans_Typ AND
A.Sur_ID = B.Sur_ID AND
C.Sub_ID = A.Sub_ID AND
a.trans_stat != 'X' AND
a.Trans_DTTM >= '08/01/2001'AND
a.Trans_DTTM < '03/09/2002 AND
B.AMA3 = 'PHONE1'
AND C.SUB_ID not in (100117)
GROUP BY
substr(b.ct_num, 0,3)
ORDER BY
Area_CodesI think that you need a "to_date" function eg
change '08/01/2001' to to_date('08/01/2001','dd/mm/yyyy') -
Help with a union all statement
Hello
I am pulling a query much like this:
(select ID, Created_timestamp from snapshot1
where created_timestamp >= to_date ('8/15/2007 12:00:00 AM','MM/DD/YYYY HH:MI:SS AM')
and created_timestamp < to_date('8/18/2007 12:00:00 AM','MM/DD/YYYY HH:MI:SS AM'))
UNION ALL
(select ID, created_timestamp from snapshot2
where created_timestamp >= to_date ('8/15/2007 12:00:00 AM','MM/DD/YYYY HH:MI:SS AM')
and created_timestamp < to_date('8/18/2007 12:00:00 AM','MM/DD/YYYY HH:MI:SS AM'))
UNION ALL
(select ID, created_timestamp from data_history
where created_timestamp >= to_date ('8/15/2007 12:00:00 AM','MM/DD/YYYY HH:MI:SS AM')
and created_timestamp < to_date('8/18/2007 12:00:00 AM','MM/DD/YYYY HH:MI:SS AM'))
Is there an easier way to handle created_timestamp?
I would like to put it at the beginning so I only have to change it in one place.I don't understand.
I try your with statement and get: "end_date" invalid identifier as an error
I start my query out:
WITH start_date as
(select to_date ('08/15/2007 12:00:00 AM','MM/DD/YYYY HH:MI:SS AM') from dual),
end_date as (select to_date ('08/18/2007 12:00:00 AM','MM/DD/YYYY HH:MI:SS AM) from dual)
select sales.id, start_date as callstart, end_date as callend
where sales.created_timestamp >= start_date
and sales.created_timestamp < end_date
UNION ALL
<<<<<<<here is where you take the last select statement and replace sales with manufacturing>>>>>>>>>>>>>
UNION ALL
<<<<<<<here is where you take the last select statement and replace sales with engineering>>>>>>>>>>>>>
and it still fails. -
Help with query calculations (recursive)
Hi All,
I want some help with a query using a base rate and the result use in the next calculation year.
Here an example:
create table rate_type(
rate_type_id number,
rate_desc nvarchar2(50),
rate_base_year number
insert into rate_type(rate_type_id, rate_desc, rate_base_year) values (1, 'Desc1', 4.6590);
insert into rate_type(rate_type_id, rate_desc, rate_base_year) values (2, 'Desc2', 4.6590);
create table rates (
rate_type_id number
rate_year number,
rate_value number
insert into rates(rate_type_id, rate_year, rate_value) values (1, 2012, 1.2);
insert into rates(rate_type_id, rate_year, rate_value) values (1, 2013, 1.3);
insert into rates(rate_type_id, rate_year, rate_value) values (1, 2014, 1.4);
insert into rates(rate_type_id, rate_year, rate_value) values (2, 2012, 1.2);
insert into rates(rate_type_id, rate_year, rate_value) values (2, 2013, 1.3);
insert into rates(rate_type_id, rate_year, rate_value) values (2, 2014, 1.4);The calculation for the first year should be the base rate of the rate type. The next year should use the result of the previous year and so on.
The result of my sample data is:
2012 = 4.659 + 1.2 + 4.659 * (1.2 * 0.01) = 5.9149
2013 = 5.9149 + 1.3 + 5.9149 * (1.3 * 0.01) = 7.1859
2014 = 7.1859 + 1.4 + 7.1859 * (1.4 * 0.01) = 8.4721Query result:
NAME 2012 2013 2014
Desc1 5.9149 7.1859 8.4721
Desc2 XXXX XXX XXXX
How can I do this in one select statement? Any ideas?
Thanks!Assuming you are on 11.2:
with t as (
select a.rate_type_id,
rate_desc,
rate_year,
rate_base_year,
rate_value,
count(*) over(partition by a.rate_type_id) cnt,
row_number() over(partition by a.rate_type_id order by rate_year) rn
from rate_type a,
rates b
where a.rate_type_id = b.rate_type_id
r(
rate_type_id,
rate_desc,
rate_year,
rate_base_year,
rate_value,
cnt,
rn,
result
) as (
select rate_type_id,
rate_desc,
rate_year,
rate_base_year,
rate_value,
cnt,
rn,
rate_base_year + rate_value + rate_base_year * rate_value * 0.01 result
from t
where rn = 1
union all
select t.rate_type_id,
t.rate_desc,
t.rate_year,
t.rate_base_year,
t.rate_value,
t.cnt,
t.rn,
r.result + t.rate_value + r.result * t.rate_value * 0.01 result
from r,
t
where t.rate_type_id = r.rate_type_id
and t.rn = r.rn + 1
select *
from (
select rate_desc name,
rate_year,
result
from r
where rn <= cnt
pivot (sum(result) for rate_year in (2012,2013,2014))
order by name
NAME 2012 2013 2014
Desc1 5.914908 7.2918018 8.79388703
Desc2 5.914908 7.2918018 8.79388703
SQL> Obviously pivoting assumes you know rate_year values upfront. If not, then without pivoting:
with t as (
select a.rate_type_id,
rate_desc,
rate_year,
rate_base_year,
rate_value,
count(*) over(partition by a.rate_type_id) cnt,
row_number() over(partition by a.rate_type_id order by rate_year) rn
from rate_type a,
rates b
where a.rate_type_id = b.rate_type_id
r(
rate_type_id,
rate_desc,
rate_year,
rate_base_year,
rate_value,
cnt,
rn,
result
) as (
select rate_type_id,
rate_desc,
rate_year,
rate_base_year,
rate_value,
cnt,
rn,
rate_base_year + rate_value + rate_base_year * rate_value * 0.01 result
from t
where rn = 1
union all
select t.rate_type_id,
t.rate_desc,
t.rate_year,
t.rate_base_year,
t.rate_value,
t.cnt,
t.rn,
r.result + t.rate_value + r.result * t.rate_value * 0.01 result
from r,
t
where t.rate_type_id = r.rate_type_id
and t.rn = r.rn + 1
select rate_desc name,
rate_year,
result
from r
where rn <= cnt
order by name,
rate_year
NAME RATE_YEAR RESULT
Desc1 2012 5.914908
Desc1 2013 7.2918018
Desc1 2014 8.79388703
Desc2 2012 5.914908
Desc2 2013 7.2918018
Desc2 2014 8.79388703
6 rows selected.
SQL> SY. -
Help with Javascript/Calculations
Hello,
Have a building use policy for school.
Need help with checkboxes and default values. I can get javascript/math to work when I click check box.
Someone wants to rent a room they check the rentRoom checkbox. Then the enter how many rooms 1,2,3 etc.. The value for the rentRoom checkbox is $25.
I can get it when the checkbox for rentRoom is selected the rentRoom.Total computes correctly. However, what I want is when the form opens up a default value of $0.00 to be in there. I also want if someone goes back and unchecks the rentRoom checkbox the value goes back to $0.00 not just blank. Right now I am getting the error the value entered does not match the value of the field. That is if I put the default value in options. Basically, I can't seem to figure out the javascript code to get this to work.
Am I asking for too much, can someone guide me to javascript to help me out.
I have tried if/then statements and switch statements. I just can't figure out how to get it to for lack of better a word - toggle back and forth.
If this is not possible please tell me. If it is too complicated tell me. I am not using livecycle for this as we had a word document and I just used the find form fields. I am also using Adobe Acrobat 8 Professional.
ThanksHello,
Thanks that looks good. I am still missing something but the calc doesn't work when I put in my variables. I will work with it more but nothing happens.
The one thing is I have the default value of the checkbox as 15 so don't know if that messes it up.
Right now I get the default value of $0.00 all the time. When I click on the check box on/off it doesn't do the calcs.
sorry, any more input, what am i missing??
I also changed the syntax error that was posted on your origianl post. You had == 'Off" I changed that to 'Off' -
Help with opening Adobe Reader and downloading updates
I can not open Adobe .pdf files any longer (this started yesterday, prior to that I could open adobe files).
When I double click a .pdf file I get this notice on my screen: Windows cannot access the specified device path or file. You may not have the appropriate permission to access file.
So I went to the Adobe download site to download a new copy of Adobe. When I start the download I get this on the screen: The instruction at "0x0e3a0068" referenced memory at "0x0e3a0068." The memory could not be written. Then two options are listed: click OK to terminate or cancel to debug. So I click on cancel and I get this on my screen: Internet Explorer has closed this webpage to help protect your computer. A malfunctioning or malicious addon has caused I.E. to close this webpage.
I don't have AVG running, I do have avast but I've disabled it. I ran Registry Mechanic and an I.E. erasure program but nothing helps.
I have gone into I.E. and reduced the security level to its lowest state but no joy.
So, any ideas or suggestions on what's the problem and how to overcome it would be appreciated. Thanks, in advance, for your reply. Jim R.Hi Mike..tried that as well but no joy. A friend of mine was looking at it all and noticed that it was an I.E. thing as far as not letting me redownload the reader so I went to Mozilla Firefox and I could download a new version but....whenever I attempt to open a .pdf file I get that message, "Windows can not open the specified device, path or file. You man not have the appropriate permissions to access the item."
Damn...this is irritating as I need to get to some of thos files as I need them for a Journal I'm working on as editor-in-chief.
It all worked just fine last Saturday but starting Monday when I was on my flight out to D.C. no joy.
Sigh...Jim R.
Jim R.
Date: Tue, 1 Dec 2009 14:50:27 -0700
From: [email protected]
To: [email protected]
Subject: Help with opening Adobe Reader and downloading updates
Under the help menu, there is an option to repair the installation of reader. Did you try that?
>
Maybe you are looking for
-
I need a flash player that does split screen with two "like" videos
I am a newbie on Flash and really need some guidance or a source code to work off of. I need a flash player that I can have two videos, overlayed with a mask at 50% on each so I see half of one video on the right and half of the other video on the l
-
First time I've used this discussion forum, so may be posting problem twice! I can't send texts to some contacts in my iphone 4s. This is a recent problem, as previously I could send texts whenever I wanted. The exclamation mark and "not delivered' s
-
Decryption of Account Number Send By Third Party System
Hello, We are processing CSV file sent by one of Third Party System. Earlier we used to receive plain text account number in this CSV file. For this month, Third Party System has sent this Account Number in Encrypted Format. My Question is how can I
-
Illustrator doesn't/will not show or update to latest version
I've currently got illustrator 18.0.0 installed on my mac. A colleague is part of our same team with the same spec mac and has an updated version of illustrator on their mac. 18.1.0 However the creative cloud app, won't show that there's an update av
-
Photoshop screws up colors in my jpgs
So, I've been working in Illustrator and then rasterizing my file in Photoshop so I can save as a jpg, and for 2 drafts it went off fine, but of course the last and final draft it screws up the colors in the jpg completely, it looks fine when viewed