Updating multiple fields using a single update statement.
Hi All,
I am a beginner to Oracle. I have used the following Hint in an update query that is executed in Oracle 10G. We recently updated the Oracle to version 11g and when executing the query getting the following Error: ORA-01779: cannot modify a column which maps to a non key-preserved table. PFB the query. Please suggest me some ways that I can do to avoid this error.
UPDATE /*+ bypass_ujvc */
(SELECT t1.STG_DEL_CONDITION, t2.condition
FROM stg_reports_membenft_latest T1 JOIN (select ods_ssn_grp,sys_id, first_value(STG_DEL_CONDITION) over(PARTITION BY ods_ssn_grp,sys_id
ORDER BY STG_DEL_CONDITION DESC) AS
condition from stg_reports_membenft_latest) T2
ON T1.ods_ssn_grp = T2.ods_ssn_grp AND T1.SYS_ID=T2.SYS_ID ) x
SET x.STG_DEL_CONDITION = x.condition;
Thanks and Regards,
Karthik Sivakumar.
I used the below query and got the Result.
Thank You all
MERGE INTO stg_reports_membenft_latest x1
USING (SELECT distinct ods_ssn_grp,
sys_id,
First_value(STG_DEL_CONDITION) OVER(partition BY ods_ssn_grp,sys_id
ORDER BY STG_DEL_CONDITION DESC)
AS condition
FROM stg_reports_membenft_latest) x2
ON ( x1.ods_ssn_grp = x2.ods_ssn_grp
AND x1.SYS_ID = x2.sys_id )
WHEN matched THEN
UPDATE SET x1.STG_DEL_CONDITION=x2.condition;
Similar Messages
-
Inserting multiple rows using a single Insert statement without using dual
Hi all,
i am trying to insert multiple rows using a single insert statement like the below one.
The below one works fine..
But is there any other change that can be done in the below one without using dual...
insert all
into ps_hd_samp (num1,num2) values (1,1)
into ps_hd_samp (num1,num2) values (2,2)
into ps_hd_samp (num1,num2) values (3,3)
select 1 from dual;NiranjanSe wrote:
Hi all,
i am trying to insert multiple rows using a single insert statement like the below one.
The below one works fine..
But is there any other change that can be done in the below one without using dual...
insert all
into ps_hd_samp (num1,num2) values (1,1)
into ps_hd_samp (num1,num2) values (2,2)
into ps_hd_samp (num1,num2) values (3,3)
select 1 from dual;
SQL> create table ps_hd_samp (num1 number,num2 number);
Table created.
SQL> insert all
2 into ps_hd_samp (num1,num2) values (1,1)
3 into ps_hd_samp (num1,num2) values (2,2)
4 into ps_hd_samp (num1,num2) values (3,3)
5 select count(*)
6 from ps_hd_samp;
3 rows created.
SQL> select * from ps_hd_samp;
NUM1 NUM2
1 1
2 2
3 3 -
Update multiple fields using select query efficiently – 9i
I need to populate a table called prop_charact used for synching data to a legacy system.
Prop_charact has fields that are found in a few other tables (no one field is found in more than one table outside of prop_charact). I want to pull the data from the corresponding fields in the source tables and put it into prop_charact. I only want to populate prop_charact with records that have been updated, but want to pull all fields for those records (whether or not that field has been updated). I am getting the list of updated records from a transaction history table.
After getting that list, I was not sure what to do with it.
I put what I want to do in terms of strictly SQL. I am thinking there are more efficient (less system resources) ways of doing this, but I am not sure what to pursue. I can use PL/SQL, but please keep in mind I am limited to using version 9i. Anyone have any hints about what I should look into using instead of just thes particular SQL statements?
insert into eval.prop_charact (parcelno, propertyid)
select distinct p.parcelno, p.propertyid
from eval.transaction_history tr,
admin.properties p
where tr.propertyid = p.propertyid
and trim(tr.tablename) in ('PROPERTIES', 'PROPERTYCHARACTERISTICS','EQID','NEWCHARACTERISTICS','DIMENSIONS', 'NON_RESIDENTIALS')
and trim(tr.fieldname) in ('BLDGCODE', 'CATCODE', 'UNFINISHED', 'TOPOGRAPHY', 'GARAGETYPE', 'GARAGESPACES', 'OPENSPACES',
'VIEW', 'GENERALCONSTRUCTION', 'YEARBUILT', 'ESTIMATEDYEAR', 'TOTALROOMS', 'TOTALBEDROOMS',
'BASEMENTTYPE', 'NUMBEROFFIREPLACES', 'HEAT', 'CENTRALAIR','CONDITION','SITE_TYPE','TOTALDWELLINGAREA',
'PLOTFRONT','PLOTDEPTH','PLOTSQFT','SHAPE','STORIES','FULLBATHROOMS','PARTBATHROOMS','MULTIPLE_BLDGS')
and tr.trans_date >= to_date('01-01-2010', 'MM/DD/YYYY')
and tr.trans_date < sysdate
order by p.parcelno;
update
select p.BLDGCODE pBLDGCODE, epc.BLDGCODE epcBLDGCODE, p.CATCODE pCATCODE,epc.CATCODE epcCATCODE,
p.UNFINISHED pUNFINISHED, epc.UNFINISHED epcUNFINISHED,
pc.TOPOGRAPHY pcTOPOGRAPHY, epc.TOPOGRAPHY epcTOPOGRAPHY,
pc.GARAGETYPE pcGARAGETYPE, epc.GARAGETYPE epcGARAGETYPE,
pc.GARAGESPACES pcGARAGESPACES, epc.GARAGESPACES epcGARAGESPACES,
pc.OPENSPACES pcOPENSPACES, epc.OPENSPACES epcOPENSPACES, pc.VIEW_ pcVIEW_, epc.VIEW_ epcVIEW_,
pc.GENERALCONSTRUCTION pcGENERALCONSTRUCTION,
epc.GENERALCONSTRUCTION epcGENERALCONSTRUCTION,
pc.YEARBUILT pcYEARBUILT, epc.YEARBUILT epcYEARBUILT,
pc.ESTIMATEDYEAR pcESTIMATEDYEAR, epc.ESTIMATEDYEAR epcESTIMATEDYEAR,
pc.TOTALROOMS pcTOTALROOMS, epc.TOTALROOMS epcTOTALROOMS,
pc.TOTALBEDROOMS pcTOTALBEDROOMS, epc.TOTALBEDROOMS epcTOTALBEDROOMS,
pc.BASEMENTTYPE pcBASEMENTTYPE, epc.BASEMENTTYPE epcBASEMENTTYPE,
pc.NUMBEROFFIREPLACES pcNUMBEROFFIREPLACES, epc.NUMBEROFFIREPLACES epcNUMBEROFFIREPLACES,
pc.HEAT pcHEAT, epc.HEAT epcHEAT, pc.CENTRALAIR pcCENTRALAIR, epc.CENTRALAIR epcCENTRALAIR,
e.CONDITION eCONDITION, epc.CONDITION epcCONDITION,
n.SITE_TYPE nSITE_TYPE, epc.SITE_TYPE epcSITE_TYPE,
d.TOTALDWELLINGAREA dTOTALDWELLINGAREA, epc.TOTALDWELLINGAREA epcTOTALDWELLINGAREA,
d.PLOTFRONT dPLOTFRONT, epc.PLOTFRONT epcPLOTFRONT,
d.PLOTDEPTH dPLOTDEPTH, epc.PLOTDEPTH epcPLOTDEPTH,
d.PLOTSQFT dPLOTSQFT, epc.PLOTSQFT epcPLOTSQFT,d.SHAPE dSHAPE, epc.SHAPE epcSHAPE,
pc.STORIES pcSTORIES, epc.STORIES epcSTORIES,
n.FULLBATHROOMS nFULLBATHROOMS,epc.FULLBATHROOMS epcFULLBATHROOMS,
n.PARTBATHROOMS nPARTBATHROOMS, epc.PARTBATHROOMS epcPARTBATHROOMS,
nr.MULTIPLE_BLDGS nrMULTIPLE_BLDGS, epc.MULTIPLE_BLDGS epcMULTIPLE_BLDGS
from eval.prop_charact epc, admin.properties p, admin.propertycharacteristics pc, admin.eqid e,
admin.dimensions d, eval.newcharacteristics n, EVAL.non_residentials nr
where epc.propertyid = p.propertyid and epc.propertyid = pc.propertyid and epc.propertyid = e.propertyid(+)
and epc.propertyid = d.propertyid(+) and epc.propertyid = n.propertyid(+) and epc.propertyid = nr.propertyid(+)
set epcBLDGCODE= pBLDGCODE, epcCATCODE= pCATCODE, epcUNFINISHED = pUNFINISHED,
epcTOPOGRAPHY = pcTOPOGRAPHY, epcGARAGETYPE = pcGARAGETYPE, epcGARAGESPACES = pcGARAGESPACES,
epcOPENSPACES = pcOPENSPACES, epcVIEW_ = pcVIEW_, epcGENERALCONSTRUCTION = pcGENERALCONSTRUCTION,
epcYEARBUILT = pcYEARBUILT, epcESTIMATEDYEAR = pcESTIMATEDYEAR, epcTOTALROOMS = pcTOTALROOMS,
epcTOTALBEDROOMS = pcTOTALBEDROOMS, epcBASEMENTTYPE = pcBASEMENTTYPE,
epcNUMBEROFFIREPLACES = pcNUMBEROFFIREPLACES, epcHEAT = pcHEAT, epcCENTRALAIR = pcCENTRALAIR,
epcCONDITION = eCONDITION, epcSITE_TYPE = nSITE_TYPE, epcTOTALDWELLINGAREA = dTOTALDWELLINGAREA,
epcPLOTFRONT = dPLOTFRONT, epcPLOTDEPTH = dPLOTDEPTH, epcPLOTSQFT = dPLOTSQFT,
epcSHAPE = dSHAPE, epcSTORIES = pcSTORIES, epcFULLBATHROOMS = nFULLBATHROOMS,
epcPARTBATHROOMS = nPARTBATHROOMS, epcMULTIPLE_BLDGS = nrMULTIPLE_BLDGS;The following example may be of help.
SQL> create table mytable(col1 number(1),
2 col2 date);
Table created.
SQL> insert into mytable values(1,sysdate);
1 row created.
SQL> select * from mytable;
COL1 COL2
1 20-AUG-04
SQL> update mytable
2 set (col1,col2) = (select 2, sysdate-1 from dual);
1 row updated.
SQL> select * from mytable;
COL1 COL2
2 19-AUG-04 -
Updating multiple fields ... need an advice.
Hello all,
I have a bit of a trouble with updating multiple fields in one table...
Lets say we have two tables. Table one is called t_employe for example:
create table t_employe (
year number,
line varchar2(1),
counter number,
value number)Lets set some random data into table:
insert all
into t_employe (year, line,counter, value)
values(2011,'3','2946','3344')
into t_employe (year, line,counter, value)
values(2011,'3','2947','4433')
into t_employe (year, line,counter, value)
values(2011,'3','2948','4455')
into t_employe (year, line,counter, value)
values(2011,'3','2949','5544')
select * from dualOk second table would be:
create table to_update (
year number,
line varchar2(1),
counter number,
date_pos_1 date,
value_pos_1 number,
date_pos_2 date,
value_pos_2 number,
date_pos_3 date,
value_pos_3 number,
date_pos_4 date,
value_pos_4 number,
date_pos_5 date,
value_pos_5 number)Data:
insert all
into to_update (year, line,counter, date_pos_1,value_pos_1,date_pos_2,value_pos_2,date_pos_3,value_pos_3,date_pos_4,value_pos_4,date_pos_5,value_pos_5)
values(2011,'3','2946',sysdate,'5434',null,null,null,null,null,null,null,null)
into to_update (year, line,counter, date_pos_1,value_pos_1,date_pos_2,value_pos_2,date_pos_3,value_pos_3,date_pos_4,value_pos_4,date_pos_5,value_pos_5)
values(2011,'3','2947',sysdate,'11',sysdate,'123',null,null,null,null,null,null)
into to_update (year, line,counter, date_pos_1,value_pos_1,date_pos_2,value_pos_2,date_pos_3,value_pos_3,date_pos_4,value_pos_4,date_pos_5,value_pos_5)
values(2011,'3','2948',sysdate,'33',sysdate,'44',sysdate,'8908',null,null,null,null)
into to_update (year, line,counter, date_pos_1,value_pos_1,date_pos_2,value_pos_2,date_pos_3,value_pos_3,date_pos_4,value_pos_4,date_pos_5,value_pos_5)
values(2011,'3','2949',sysdate,'1',sysdate,'2',sysdate,'343',sysdate,'78',null,null)
select * from dualOk now what i want to do is to update table to_update fields where value_pos is NULL. To explain it better imagine
collums are from left to right in that order value_pos_1, value_pos_2, value_pos_3 .... Now i would want to check for each row
if value_pos_1 is null ... if it is then update. Finist with this row and move to the next. If its not move to value_pos_2 in
same row and again check if its null. If it is ... update, if not, again move forward. Each cullum value_pos_X has a cullom date_pos_x
which has to be updated same as Value_pos_ cullums (if value_pos_X is null then coresponding date_pos_X will be null as well - thats
a fact in my table).
So is this doable by using only one update?
I manage to write a select statment using case clause which does those things perfectly only for value_pos_X fields. I wonder if i can use it in my
update statment?
select
case when a.value_pos_1 is null then b.value else
case when a.value_pos_2 is null then b.value else
case when a.value_pos_3 is null then b.value else
case when a.value_pos_4 is null then b.value else
case when a.value_pos_5 is null then b.value else to_number('99999','9999,99')
end
end
end
end
end as value
from to_update a,t_employe b
where a.year = b.year
and a.line= b.line
and a.counter = b.counter Any suggestions how to pull this one of?
Thank you!SQL> select *
2 from to_update
3 /
YEAR L COUNTER DATE_POS_ VALUE_POS_1 DATE_POS_ VALUE_POS_2 DATE_POS_ VALUE_POS_3 DATE_POS_ VALUE_POS_4 DATE_POS_ VALUE_POS_5
2011 3 2946 27-AUG-11 5434
2011 3 2947 27-AUG-11 11 27-AUG-11 123
2011 3 2948 27-AUG-11 33 27-AUG-11 44 27-AUG-11 8908
2011 3 2949 27-AUG-11 1 27-AUG-11 2 27-AUG-11 343 27-AUG-11 78
SQL> merge
2 into to_update a
3 using (
4 select a.rowid rid,
5 b.value
6 from to_update a,
7 t_employe b
8 where a.year = b.year
9 and a.line= b.line
10 and a.counter = b.counter
11 ) b
12 on (
13 a.rowid = b.rid
14 )
15 when matched then update set value_pos_1 = nvl2(value_pos_1,value_pos_1,b.value),
16 value_pos_2 = nvl2(value_pos_1,nvl2(value_pos_2,value_pos_2,b.value),value_pos_2),
17 value_pos_3 = nvl2(value_pos_1 + value_pos_2,nvl2(value_pos_3,value_pos_3,b.value),value_pos_3),
18 value_pos_4 = nvl2(value_pos_1 + value_pos_2 + value_pos_3,nvl2(value_pos_4,value_pos_4,b.value),value_pos_4),
19 value_pos_5 = nvl2(value_pos_1 + value_pos_2 + value_pos_3 + value_pos_4,nvl2(value_pos_5,value_pos_5,b.value),value_pos_5)
20 /
4 rows merged.
SQL> select *
2 from to_update
3 /
YEAR L COUNTER DATE_POS_ VALUE_POS_1 DATE_POS_ VALUE_POS_2 DATE_POS_ VALUE_POS_3 DATE_POS_ VALUE_POS_4 DATE_POS_ VALUE_POS_5
2011 3 2946 27-AUG-11 5434 3344
2011 3 2947 27-AUG-11 11 27-AUG-11 123 4433
2011 3 2948 27-AUG-11 33 27-AUG-11 44 27-AUG-11 8908 4455
2011 3 2949 27-AUG-11 1 27-AUG-11 2 27-AUG-11 343 27-AUG-11 78 5544
SQL> Or yhis might be more readable:
merge
into to_update a
using (
select a.rowid rid,
b.value
from to_update a,
t_employe b
where a.year = b.year
and a.line= b.line
and a.counter = b.counter
) b
on (
a.rowid = b.rid
when matched then update set value_pos_1 = case when value_pos_1 is null then b.value else value_pos_1 end,
value_pos_2 = case when value_pos_1 is not null and value_pos_2 is null then b.value else value_pos_2 end,
value_pos_3 = case when value_pos_1 + value_pos_2 is not null and value_pos_3 is null then b.value else value_pos_3 end,
value_pos_4 = case when value_pos_1 + value_pos_2 + value_pos_3 is not null and value_pos_4 is null then b.value else value_pos_4 end,
value_pos_5 = case when value_pos_1 + value_pos_2 + value_pos_3 + value_pos_4 is not null and value_pos_5 is null then b.value else value_pos_5 end
/SY. -
Updating multiple tables using JDBC Adapter
Hi,
I am trying to insert/update multiple tables using one message via JDBC adapter. The following is the message being posted. However, only the first statement was executed. Anything wrong?
Thanks in advance!
Hart
<?xml version="1.0" encoding="UTF-8"?>
<ns0:DeliveryDBUpdate xmlns:ns0="http://test.com/r3_integration"><DeliveryData><DelHeader action="UPDATE_INSERT"><table>DelHeader</table><access><DelNo>0080000230</DelNo><DelType>LF</DelType><XOverwrite>X</XOverwrite><ShipTo>0000000026</ShipTo><SoldTo>0000000026</SoldTo><Priority>00</Priority><DocDate>02/17/2007</DocDate><GText>CIF Test</GText><DelDate>02/20/2007</DelDate><PickDate>02/20/2007</PickDate><ShipPoint>NO02</ShipPoint><PackCount>00000</PackCount></access><key><DelNo>0080000230</DelNo></key></DelHeader>
<DelItem action="INSERT"><table>DelItem</table><access><DelNo>0080000230</DelNo><ItemNo>000010</ItemNo><GText>10# GRAN-GREAT VALUE</GText><Material>G04410G611</Material><Plant>6005</Plant><SLoc>6005</SLoc><RefDoc>mmenon32</RefDoc><RefItem>00000000</RefItem><DelQty>5.000</DelQty><UOM>BL</UOM></access><access><DelNo>0080000230</DelNo><ItemNo>000020</ItemNo><GText>25# GRAN- GREAT VALUE</GText><Material>G04025G611</Material><Plant>6005</Plant><SLoc>6005</SLoc><RefDoc>mmenon32</RefDoc><RefItem>00000000</RefItem><DelQty>5.000</DelQty><UOM>BG</UOM></access></DelItem></DeliveryData></ns0:DeliveryDBUpdate>Hi,
You need 2 STATEMENT level tags,
<?xml version="1.0" encoding="UTF-8"?>
<ns0:DeliveryDBUpdate xmlns:ns0="http://test.com/r3_integration">
<b><DeliveryData1></b>
<DelHeader action="UPDATE_INSERT">
<table>DelHeader</table>
<access>
<DelNo>0080000230</DelNo>
<DelType>LF</DelType>
<XOverwrite>X</XOverwrite>
<ShipTo>0000000026</ShipTo>
<SoldTo>0000000026</SoldTo>
<Priority>00</Priority>
<DocDate>02/17/2007</DocDate>
<GText>CIF est</GText>
<DelDate>02/20/2007</DelDate>
<PickDate>02/20/2007</PickDate>
<ShipPoint>NO02</ShipPoint>
<PackCount>00000</PackCount>
</access>
<key>
<DelNo>0080000230</DelNo>
</key>
</DelHeader>
<b><DeliveryData1></b>
<b><DeliveryData2></b>
<DelItem action="INSERT">
<table>DelItem</table>
<access>
<DelNo>0080000230</DelNo>
<ItemNo>000010</ItemNo>
<GText>10# GRAN-GREAT VALUE</GText>
<Material>G04410G611</Material>
<Plant>6005</Plant>
<SLoc>6005</SLoc>
<RefDoc>mmenon32</RefDoc>
<RefItem>00000000</RefItem>
<DelQty>5.000</DelQty>
<UOM>BL</UOM>
</access>
<access>
<DelNo>0080000230</DelNo>
<ItemNo>000020</ItemNo>
<GText>25# GRAN- GREAT VALUE</GText>
<Material>G04025G611</Material>
<Plant>6005</Plant>
<SLoc>6005</SLoc>
<RefDoc>mmenon32</RefDoc>
<RefItem>00000000</RefItem>
<DelQty>5.000</DelQty>
<UOM>BG</UOM>
</access>
</DelItem>
<b></DeliveryData2></b>
</ns0:DeliveryDBUpdate>
Try with such a strcuture and let us know if it works.
Regards
Bhavesh -
Need to update multiple records using store procedure
Hi i am trying to update multiple records using store procedure but failed to achieve pls help me with this
for example my source is
emp_name sal
abhi 2000
arti 1500
priya 1700
i want to increase salary of emp whose salary is less than 2000 it means rest two salary should get update..using stored procedure only
i have tried following code
create or replace procedure upt_sal(p_sal out emp.sal%type, p_cursor out sys_refcursor)
is
begin
open p_cursor for
select sal into p_sal from emp;
if sal<2000 then
update emp set sal= sal+200;
end i;f
end;
and i have called the procedure using following codes
set serveroutput on
declare
p_sal emp.sal%type;
v_cursor sys_refcursor;
begin
upt_sal(p_sal,v_cursor);
fetch v_cursor into p_sal;
dbms_output.put_line(p_sal);
end;
the program is executing but i should get o/p like this after updating
1700
1900
but i am getting first row only
2000
and record is not upsating...please help me with this
thanksHi Alberto,
thanx for your valuable suggestion. but still i have doubt. the code which i have mentioned above might be simple but what if i have big requirement where i need update the data by using loops and conditional statement.
and i have similar kind of requirement where i need to deal with procedure which returns more than one row
my source is
empno ename salary
111,abhi,300
112,arti,200
111,naveen,600
here i need to write a store procedure which accepts the empno (111) as input para and display ename and salary
here i have written store procedure like this
create or replace procedure show_emp_det(p_empno in emp.empno%type, p_ename out emp.ename%type,p_salary out emp.salary%type, p_cursor out sys_refcursor)
is
begin
open p_cursor for
select ename,salary into p_ename,p_salary from emp where empno=p_empno;
end;
and i have called this by using
declare
p_salary emp.salary%type;
p_ename emp.ename%type
v_cursor sys_refcursor;
begin
show_emp_det(111,p_ename,p_salary,v_cursor);
fetch v_cursor into p_ename,p_salary;
dbms_output.put_line(p_ename);
dbms_output.put_line(p_salary);
end;
here i should get
abhi,300
naveen,600
but i am getting first row only
abhi,300
but i want to fetch both rows...pls help me to find the solution -
Update Multiple Rows using Row Selector
Hi,
I want to update multiple rows using a tabular form with row selector, and an item in another region of the page, using an update expression and a button.
The syntax would be like this:
update MY_TABLE set UPDATABLE_COLUMN = :P10_NEW_VALUE where {row selector = true}
What is the syntax for the WHERE clause, anyone knows? In the manual there is no information at all for doing this.
PD. I added the row selector after creating the form, so I don't have any wizard-created MRU processes in the page.
HTMLDB version is 1.6
Thanks.Hi,
I want to update multiple rows using a tabular form with row selector, and an item in another region of the page, using an update expression and a button.
The syntax would be like this:
update MY_TABLE set UPDATABLE_COLUMN = :P10_NEW_VALUE where {row selector = true}
What is the syntax for the WHERE clause, anyone knows? In the manual there is no information at all for doing this.
PD. I added the row selector after creating the form, so I don't have any wizard-created MRU processes in the page.
HTMLDB version is 1.6
Thanks. -
Multiple condtions in a single if Statement in .rtf templete of Bi Publishe
Hi ,
I want to use a single if statement with multiple condition .
For Example : If :Parameter1=10 and Parameter2=10 and Parameter3=30
then < ' mseesge '>
end if ;
Any body Please suggest me how can i do it in the .rtf .
Thanks,
Mike .
Edited by: user3449250 on Feb 27, 2009 7:53 AMHi Mike,
for example
<?if:JOB='MANAGER' and ENAME='JONES'?> XXX <?end if?>
Regards
Rainer -
In XI Mapping multiple fields mapping to single target field.
Hi Friends,
In XI Mapping multiple fields mapping to single target field.
For example my requirement is :
Source Fields:(This RFC BAPI Structure)
Empno 0-1
EmpName 0-1
Address 0-1
Taget Field is:
Details 0-1
The above three fields passed to the Details Field. Here i am using Concat function
But i have one query on that on,Every field having "line Break" required.
Can you please help me out above this requirement.
Thanks in Advance,
Sateesh N.If you want a line break between the three fields, then try
passing a,b,c to the udf and in the udf you would have
return a+"\n"+b+"\n"+c; -
Multiple OUs using a single common WIP?
Multiple OUs using a single common WIP?
We have a manufacturing facility that contains tools and personnel that belong to multiple operating units (OU). Of course, the manufacturing part should work as if it is one site. Since all equipment and personnel work on all jobs there is no distinction between the higher level operating units and legal entities and books at the low level manufacturing point of view. However, costing must be costed appropriately by OU and the GL books of the seperate legal entities must be kept correctly and seperately.
How can Oracle Applications manufacturing modules be setup to handle a common manufacturing area used by personnel and equipment that is owned and costed by seperate OUs? I am unable to locate an example or reference to this type of situation in any manufacturing manuals.
ThanksNot sure that you will be able to find your example. You explain an interesting problem that is very unique. I do not think that you will find a standard system set up to meet your need. The work around solutions, that come to mind quickly, would require a standard cost environment and involve changing the period close process for manufacturing.
-
I can not update my N95 using Nokia Software Updat...
I can not update my N95 using Nokia Software Updater.
The error message "unable to update the software" will appear.
I have version 12.0.013.
Come with ideas, I have contacted Nokia's support and they want me to send the phone to them but it may be the final solution.This page might answer your question:
http://linux.sgms-centre.com/nokiafaq/branded-phones/
Was this post helpful? If so, please click on the white "Kudos!" star below. Thank you! -
Merge statement - update multiple columns from a single sub-select
Is it possible to write in 10gR2, a MERGE statement, with UPDATE for multiple columns from a single sub_select?
like this:
MERGE INTO tableA
using ( select * from temp) tmp
on( tableA. col1 = tmp.col1)
when matched then
update set ( tableA.col5,
tableA.col6,
tableA.col7) = ( select sum(col2), sum(col3), sum(col5)
from tableX
where tableX.col1 = tableA.col1...)Hi,
The USING clause is not a sub-query, so it can't reference columns from tables that are not in it.
Include tableA in the USING clause if you really need to refer to it there. (It's not obvious that you do.)
As always, it helps if you post:
(1) The version of Oracle (and any other relevant software) you're using
(2) A little sample data (just enough to show what the problem is) from all the relevant tables
(3) The results you want from that data (In the case of a DML statement, such as MERGE, this will be the state of the tables when everything is finished.)
(4) Your best attempt so far (formatted)
(5) The full error message (if any), including line number
Executable SQL statements (like "CREATE TABLE AS ..." or "INSERT ..." statements) are best for (2).
If you can present your problem using commonly available tables (for example, tables in scott schema, or views in the data dictionary), then you can omit (2).
Formatted tabular output is okay for (3). -
Unable to update a field using the Data tab on a VIEW
When viewing data using a VIEW instead of going to the table directly, am unable to change the values in any of the fields
When I click on the list of VIEWs for a schema, then select a view that is based on a SELECT statement for a single table with a Primary key, and then click on the DATA tab to modify the value in one of the fields, SQL Developer does not allow me to change the value.
Went into SQL Plus, and was able to execute an UPDATE statement against the same row of that VIEW, and update that field ("UPDATE vw_mytable SET thisfield = 'YES' WHEN row_id_number = 1'").
Does SQL Developer not allow updating tables through a VIEW?
Will it allow updating in the future? Please say yes.
Oracle 10g DB and latest version of SQL Developer.Remember to add feature requests and vote on them on the SQL Developer Exchange!
<br>
<p>We have added updateable views to 1.1, but do remember, not all views are updateable - even in SQL*Plus.</p>
<br>
Sue -
HOW CAN I USE MULTIPLE INNERJOINS IN A SINGLE SELECT STATEMENT?
HI,
I AM SHABEER AHMED,
I AM GETTING AN ERROR WHILE I ATTEMPT TO EXECUTE A SELECT STATEMENT WITH MULTIPLE INNER JOINS . BECOZ I WANT TO FETCH ITEM DATA, PARTNER DATA BASED ON HEADER DATA .
THEN OF COURSE I HAVE FETCH DATA FROM VBAK VBAP VBKD SO LZ SEND ME THE SOLUTION.
BYEHi,
1.Just see this:
SELECT * INTO CORRESPONDING FIELD OF TABLE itab
FROM t1 INNER JOIN t2 ON t1f4 EQ t2f4
INNER JOIN t3 ON t2f5 EQ t3f5 AND
t2f6 EQ t3f6 AND
t2f7 EQ t3f7.
2.But better to use for all entries.It increases the performance.
FOR ALL ENTRIES
Tabular Conditions
The WHERE clause of the SELECT statement has a special variant that allows you to derive conditions from the lines and columns of an internal table:
SELECT ... FOR ALL ENTRIES IN <itab> WHERE <cond> ...
<cond> may be formulated as described above. If you specify a field of the internal table <itab> as an operand in a condition, you address all lines of the internal table. The comparison is then performed for each line of the internal table. For each line, the system selects the lines from the database table that satisfy the condition. The result set of the SELECT statement is the union of the individual selections for each line of the internal table. Duplicate lines are automatically eliminated from the result set. If <itab> is empty, the addition FOR ALL ENTRIES is disregarded, and all entries are read.
The internal table <itab> must have a structured line type, and each field that occurs in the condition <cond> must be compatible with the column of the database with which it is compared. Do not use the operators LIKE, BETWEEN, and IN in comparisons using internal table fields. You may not use the ORDER BY clause in the same SELECT statement.
You can use the option FOR ALL ENTRIES to replace nested select loops by operations on internal tables. This can significantly improve the performance for large sets of selected data.
Example for ALL ENTRIES
DATA: TAB_SPFLI TYPE TABLE OF SPFLI,
TAB_SFLIGHT TYPE SORTED TABLE OF SFLIGHT
WITH UNIQUE KEY TABLE LINE,
WA LIKE LINE OF TAB_SFLIGHT.
SELECT CARRID CONNID
INTO CORRESPONDING FIELDS OF TABLE TAB_SPFLI
FROM SPFLI
WHERE CITYFROM = 'NEW YORK'.
SELECT CARRID CONNID FLDATE
INTO CORRESPONDING FIELDS OF TABLE TAB_SFLIGHT
FROM SFLIGHT
FOR ALL ENTRIES IN TAB_SPFLI
WHERE CARRID = TAB_SPFLI-CARRID AND
CONNID = TAB_SPFLI-CONNID.
LOOP AT TAB_SFLIGHT INTO WA.
AT NEW CONNID.
WRITE: / WA-CARRID, WA-CONNID.
ENDAT.
WRITE: / WA-FLDATE.
ENDLOOP.
INNER JOINS
In a relational database, you normally need to read data simultaneously from more than one database table into an application program. You can read from more than one table in a single SELECT statement, such that the data in the tables all has to meet the same conditions, using the following join expression:
SELECT...
FROM <tab> INNER JOIN <dbtab> AS <alias> ON <cond> <options>
where <dbtab> is a single database table and <tab> is either a table or another join expression. The database tables can be specified statically or dynamically as described above. You may also use aliases. You can enclose each join expression in parentheses. The INNER addition is optional.
A join expression links each line of <tab> with the lines in <dbtab> that meet the condition <cond>. This means that there is always one or more lines from the right-hand table that is linked to each line from the left-hand table by the join. If <dbtab> does not contain any lines that meet the condition <cond>, the line from <tab> is not included in the selection.
The syntax of the <cond> condition is like that of the WHERE clause, although individual comparisons can only be linked using AND. Furthermore, each comparison must contain a column from the right-hand table <dbtab>. It does not matter on which side of the comparison it occurs. For the column names in the comparison, you can use the same names that occur in the SELECT clause, to differentiate columns from different database tables that have the same names.
The comparisons in the condition <cond> can appear in the WHERE clause instead of the ON clause, since both clauses are applied equally to the temporary table containing all of the lines resulting from the join. However, each join must contain at least one comparison in the condition <cond>.
Example for INNER JOINS
REPORT demo_select_inner_join.
DATA: BEGIN OF wa,
carrid TYPE spfli-carrid,
connid TYPE spfli-connid,
fldate TYPE sflight-fldate,
bookid TYPE sbook-bookid,
END OF wa,
itab LIKE SORTED TABLE OF wa
WITH UNIQUE KEY carrid connid fldate bookid.
SELECT pcarrid pconnid ffldate bbookid
INTO CORRESPONDING FIELDS OF TABLE itab
FROM ( ( spfli AS p
INNER JOIN sflight AS f ON pcarrid = fcarrid AND
pconnid = fconnid )
INNER JOIN sbook AS b ON bcarrid = fcarrid AND
bconnid = fconnid AND
bfldate = ffldate )
WHERE p~cityfrom = 'FRANKFURT' AND
p~cityto = 'NEW YORK' AND
fseatsmax > fseatsocc.
LOOP AT itab INTO wa.
AT NEW fldate.
WRITE: / wa-carrid, wa-connid, wa-fldate.
ENDAT.
WRITE / wa-bookid.
ENDLOOP.
Regards,
Shiva Kumar(Reward if helpful). -
Import Format script required to update multiple fields
Further to my previous post yesterday (Import Format script required to work across multiple fields I now need my import script to update multiple (two) fields at the same time, based on criteria set across multiple fields. So far, I can use DW.Utilities.fParseString to assess the values across multiple fields, but I now need to update not only the field in question, but also an additional field at the same time. For example:
Function TBService(strField, strRecord)
' How do I update a second field at the same time?
Dim strField2 As String
If Left(strField, 1) = "S" Then
If DW.Utilities.fParseString (strRecord, 3, 8, ",") = "B1110" Then
strField2 = "N101"
Else
strField2 = "Network N/A"
End If
TBService = strField
Else
TBService = "Service N/A"
End If
End Function
Is this even possible? Should I be looking at creating an event script which would work post-import? Or can this be done right here in the import script?All the logic you require can be encapsulated in the import script for the second field. You don't need to reference the second field in the first import script.
Edited by: SH on May 2, 2012 5:39 PM
Maybe you are looking for
-
I am coming to realize I have been a naive consumer of Adobe products. Over a year ago I bit when they offered a $30.00 introductory price on Creative Cloud, even though my clients did not and still do not use CS6. When the price nearly doubled I com
-
G5 is slow want to do a clean install
Hi, I'm not very technical and reading up on different ways to reinstalling the operating system seems complicated and it seems it can cause problems if not done the right way. CAn someone explain to me the best way to do start my computer from fresh
-
Problem in reading XML contents
Hi all, I have a problem in extracting a portion of the XML file. the XML is <x> <y1></y1> <y2> <value1>One</value1> <value2>Two</value2> <value3>Three</value3> </y2> <y3></y3> </x>the code i have writ
-
Was working great. I think I downloaded a .pdf reader. Now Safari won't open file. Any suggestions? Ron Clark Fred Hutchinson Cancer Research Center Seattle WA
-
Clicking a Button To Move My Slider!
Hay, Im trying to add a line of code so that when my Button is clicked it displays text in textfield (which works allready) and also moves the slider to correct position, my changer listener etc below public void actionPerformed(ActionEvent ae)