[VIEWED 4902
TIMES]
|
SAVE! for ease of future access.
|
|
|
piranha
Please log in to subscribe to piranha's postings.
Posted on 06-27-08 3:02
PM
Reply
[Subscribe]
|
Login in to Rate this Post:
0
?
|
|
Can anyone help me re write this sql server code into Oracle PL/SQL code.. ...I am using oracle 8i which is quite old and i am not so good in coding.
UPDATE A SET STDCOST = B.Cost FROM Table_A A INNER JOIN Table_B B ON (A.ITEM = B.Item) AND (A.Location = B.Location) ;
PS: remember syntax (table_a inner join table_b) dont work in 8i
|
|
|
|
piranha
Please log in to subscribe to piranha's postings.
Posted on 06-30-08 8:41
AM
Reply
[Subscribe]
|
Login in to Rate this Post:
0
?
|
|
|
|
|
gurkha's
Please log in to subscribe to gurkha's's postings.
Posted on 06-30-08 12:43
PM
Reply
[Subscribe]
|
Login in to Rate this Post:
0
?
|
|
UPDATE A SET STDCOST = B.Cost FROM Table_A A, Table_B B WHERE A.ITEM = B.Item AND A.Location = B.Location;
|
|
|
piranha
Please log in to subscribe to piranha's postings.
Posted on 06-30-08 1:11
PM
Reply
[Subscribe]
|
Login in to Rate this Post:
0
?
|
|
Thanks gurkha's but that dont seem to work in oracle 8i...maybe that works on higher version..anyone using oracle 8i..this shit is really frustrating.
|
|
|
pkshr
Please log in to subscribe to pkshr's postings.
Posted on 06-30-08 1:39
PM
Reply
[Subscribe]
|
Login in to Rate this Post:
0
?
|
|
piranha,
not sure in 8i, but can you try any one of the followings:
UPDATE ( SELECT A.STDCOST A_STDCOST, B.COST B_COST FROM Table_A A, Table_B B WHERE A.ITEM = B.Item AND A.Location = B.Location ) SET A_STDCOST = B_COST;
(OR)
MERGE INTO Table_A A USING Table_B B ON (A.ITEM = B.Item AND A.Location = B.Location) WHEN MATCHED THEN A.STDCOST=B.COST ;
|
|
|
piranha
Please log in to subscribe to piranha's postings.
Posted on 06-30-08 3:38
PM
Reply
[Subscribe]
|
Login in to Rate this Post:
0
?
|
|
Thanks pkshr...it might work in later version and might even work in sql server..It dint work in my case...MERGE feature was introduced in 9i so i dint tried at all..maybe someday id use MERGE....thanks for tips ...... was .8i really sucks..
I really appreciate every ones help...even it could not match my solution i think it will be helpful sometime later..coz most of them might work on later versions...
SOLUTION : I used the cursor , looped and updated the table A...i hope this would work let me know if you have any other suggestions of comment on my solution.I know it takes too long.
declare
CURSOR cur IS SELECT B.cost cost,A.item item,A.loc loc FROM table_a A, table_b B
WHERE A.ITEM = B.Item AND A.LOC = B.Location;
BEGIN
FOR C1 in cur
LOOP
UPDATE TABLE_A
SET STDCOST = c1.Cost
WHERE item = c1.item
AND loc = c1.loc;
END LOOP;
COMMIT;
END;
|
|
|
piranha
Please log in to subscribe to piranha's postings.
Posted on 07-01-08 9:49
AM
Reply
[Subscribe]
|
Login in to Rate this Post:
0
?
|
|
FYI: Case Statement dont work on PL/SQL of oracle 8i ..however it can be used with sql..
|
|
|
methagu
Please log in to subscribe to methagu's postings.
Posted on 07-02-08 7:51
PM
Reply
[Subscribe]
|
Login in to Rate this Post:
0
?
|
|
|
|