Update of table as select another table
Hi allHow can I update column with data from another table.
UPDATE PAR6. C CUENT
SET C.LIMIT = 0
WHERE
T.EMISA = C.EMISA
AND T.SUCUR = C.SUCUR
AND T.PRODUCT = C.PRODUCT
AND T.NUMER = C.NUMER
AND T.EMISA = 8
and T.product = 23
AND IN t.ESTA (2, 3)
ERROR: ora-00904 "T". "" ESTADO ": invalid identifier
SELECT * FROM PAR6. TRE T
WHERE T.EMISA = 8
AND T.PRODUCT = 23
AND T.ESTADO TO (2,3)
Returns 26 lines.
SELECT * FROM PAR6. C CUENT
WHERE C.EMISA = 8
AND C.PRODUCT = 23
AND C.ESTADO TO (2,3)
Returns 0 rows.
My goal is to update the 26 lines to PAR6. Table CUENT. Is it possible or I do soometing evil in general. Any help would be appreciated.
Thank you very much.
Kind regards
Robert
>
UPDATE PAR6. C CUENT
SET C.LIMIT = 0
WHERE
T.EMISA = C.EMISA
AND T.SUCUR = C.SUCUR
AND T.PRODUCT = C.PRODUCT
AND T.NUMER = C.NUMER
AND T.EMISA = 8
and T.product = 23
AND IN t.ESTA (2, 3)
>
Something like that.
UPDATE PAR6.CUENT C
SET C.LIMIT=0
WHERE exists (select null from PAR6.TAR T
where
T.EMISA=C.EMISA
AND T.SUCUR=C.SUCUR
AND T.PRODUCT=C.PRODUCT
AND T.NUMER=C.NUMER
AND T.EMISA = 8
and T.product = 23
AND t.ESTA IN (2, 3)
)
Visit this link for more information about correlated subqueries.
http://download.Oracle.com/docs/CD/B19306_01/server.102/b14200/queries007.htm
Thank you
REDA
@Sybrand: my apologies, I didn't see your post when I posted. However, I like the way you approach.
Published by: Raj on May 27, 2011 02:11
@Sybrand: my apologies, I didn't see your post when I posted. However, I like the way you approach.
Tags: Database
Similar Questions
-
Update of table column in this table corresponds with another table
UPDATE of table column where this table corresponds to a column with another table of columns,
Example:
I need to update column in the table SIEBEL_ASSETS MATACH_FLAG = 'Yes' when less than the conditions of the
Select a.*, SIEBEL_ASSETS a, gis_cad, c
where upper (a.Province) = upper (c.province)
and upper (a.TOWNSHIP_NAME_EXT) = upper (c.suburb)
and a.Stand_ # = c.ERF_NOupdate siebel_assets a set match_flag = 'yes' where exists (select 1 from gis_cad c where upper(a.Province) = upper(c.province) and upper(a.TOWNSHIP_NAME_EXT) = upper(c.suburb) and a.Stand_# = c.ERF_NO ) ;
-
Update a table with one column of another
Oracle 11g
Helloi'im trying to update the two columns of table SUPPORT (SUPPORT_X, SUPPORT_Y) with two columns of table POST_HTA_BT (POSTHTABT_GPS_X, POSTHTABT_GPS_Y)
Understand that the two tables have the colum below:
SUPPORT (SUPPORT_ID, SUPPORT_PLAQUE, POSTHTABT_ID, SUPPORT_X, SUPPORT_Y,...)
POST_HTA_BT (POSTHTABT_ID, POSTHTABT_GPS_X, POSTHTABT_GPS_Y,...)
The SUPPORT_PLAQUE has type varachar. Except the keys, the other columns are varchar type in both tables.
The point here is to update the support_x, support_y with posthtabt_gps_x and posthtabt_gps_y.But before the update we have Sheik if the fifth number of the support plate is a number of characters from "0" to "9"and the rest of the caracter of the support_plaque is '00000'
Please note that the support_plaque is stored in the table with the form: "0025800000!"
So I did the below script, I try to execute in sql develop.
SET SERVEROUTPUT ON
DECLARE
chiffre_liste varchar (200): = '0 ', '1', '2', '3', '4', ' 5 ', ' 6' ', 7', ' 8 ', ' 9';
CURSOR CUR_GPS_SUPPORT IS
Select MEDIA. SUPPORT_X, SUPPORT. SUPPORT_Y, POSTE_HTA_BT. POSTHTABT_ID, SUPPORT. EXPL_ID,
SUPPORTED. SUPPORT_PLAQUE, POSTHTABT_GPS_X, POSTHTABT_GPS_Y
support,.
POSTE_HTA_BT
where
SUPPORTED. SUPPORT_X IS NULL and
SUPPORTED. SUPPORT_Y IS NULL and
SUPPORTED. POSTHTABT_ID = POSTE_HTA_BT. POSTHTABT_ID and
SUPPORTED. EXPL_ID = POSTE_HTA_BT. EXPL_ID
Order of SUPPORT. POSTHTABT_ID;w_POSTHTABT_ID POSTE_HTA_BT. Type of POSTHTABT_ID %;
w_SUPPORT_X SUPPORT. TYPE % SUPPORT_X;
w_SUPPORT_Y SUPPORT. TYPE % SUPPORT_Y;
w_EXPL_ID SUPPORT. TYPE % EXPL_ID;
w_SUPPORT_PLAQUE SUPPORT. TYPE % SUPPORT_PLAQUE;
w_POSTHTABT_GPS_X POSTE_HTA_BT. TYPE % POSTHTABT_GPS_X;
w_POSTHTABT_GPS_Y POSTE_HTA_BT. TYPE % POSTHTABT_GPS_Y;BEGIN
DBMS_OUTPUT. Put_line ('loading the coordoonnees GPS - GPS Coord update takes care of starting ');FOR HEART LOOPING CUR_GPS_SUPPORT
w_POSTHTABT_ID: = cur. POSTHTABT_ID;
w_SUPPORT_PLAQUE: = cur. SUPPORT_PLAQUE;
w_SUPPORT_X: = cur. SUPPORT_X;
w_SUPPORT_Y: = cur. SUPPORT_Y;
w_POSTHTABT_GPS_X: = cur. POSTHTABT_GPS_X;
w_POSTHTABT_GPS_Y: = cur. POSTHTABT_GPS_X;If substr (cur.support_plaque, 5, 1 chiffre_liste) and substr (cur.support_plaque, 6, 5) = '00000'
w_SUPPORT_X: = CUR. POSTHTABT_GPS_X
w_SUPPORT_Y: = CUR. POSTHTABT_GPS_Y
END if;
EXCEPTION WHEN NO_DATA_FOUND THEN w_SUPPORT_X: = NULL and w_SUPPORT_Y: = NULL;
END;-Updated the table of the supports
Update SUPPORT
Set SUPPORT_X = w_SUPPORT_X,
SUPPORT_Y = w_SUPPORT_Y
where SUPPORT_PLAQUE = w_SUPPORT_PLAQUE;
-On valid imm? immediately
commit;
EXCEPTION when no_data_found then null;
-No details found
END;
END;
/and I got the following errors:
Error report:
ORA-06550: line 2, colum 34:
PLS-00103: symbol ',' met instead of one of the following symbols:* & = - + ; <>/ is mod remains not rem
<>< Hurst (*) > or! = or ~ = > = < = <>and like2 or
like4 likec between | submultiset of type multiset Member
ORA-06550: line 2, column 52:
PLS-00103: symbol ';' met instead of one of the following symbols:), * & = - + <>/ is mod remains not rem = >
<>< Hurst (*) > or! = or ~ = > = < = <>and like2 or
like4 likec between | Member of multiset must
ORA-06550: line 38, colum 48:
PLS-00103: symbol 'CHIFFRE_LISTE' met instead of one of the following symbols:(
Symbol "(" a été substitué à "CHIFFRE_LISTE" verser continuer.) "
ORA-06550: line 39, 12 colum:
PLS-00103: symbol 'W_SUPPORT_X' met instead of one of the following symbols:), * & -+ / at rem mod < Hurst (*) > rest and or.
multiset
ORA-06550: line 40, 12 colum:
PLS-00103: symbol 'W_SUPPORT_Y' met instead of one of the following symbols:. (), * @ % & = - + <>/ is mod remains not rem
<>< Hurst (*) > or! = or ~ = > = < = <>and like2 or
like4 likec between | mult
ORA-06550: line 41, colum 9:
PLS-00103: symbol 'END' met instead of one of the following symbols:. (), * @ % & = - + <>/ is mod remains not rem
<>< Hurst (*) > or! = or ~ = > = < = <>and like2 or
like4 likec between | multiset members
06550 00000 - "line %s, column % s:\n%s".
* Cause: Usually a PL/SQL compilation error.
* Action:I checked the line number, but do not see the error in my code.
Please could you help me?
peace
Hello
glad to know that it worked. In fact, I don't see the reason to make these complicated processes.
Remember the mantra:
- If you can do it with SQL then do it with SQL
Good evening!
Alberto
-
Try to select another plan without qualifying the table owner...
How to select another pattern without qualifying the owner of the selected table, or create synonyms or editing session?
ex.
UserA has table tab1
UserB must choose in tab1 without qualification
UserB has certain rights on tab1
10.2 db
Select * from tab1;
returns nothing
Select * from UserA.tab1;
Rows returned
Thank youThat doesn't seem possible. I would tend to bet that the developer said wrong something. Maybe he meant, for example, that you create synonyms for users because they use public synonyms?
Justin
-
How to update a table and insert into another
I need to update a table and also to insert into another table and want to do it in the same form. I can it will break in 2 different forms, but it is awkward for the user. Is there a way common to this address? As a backdrop, the user is updated the status of a message (IE, changing it from open to closed) and then provide an answer. The response table is separate from the table of messages because its format is doing different.
Thank you and sorry to bombard the forum today..oO (davidbarrackphoto)
> I need to update a table and also to insert into another table and want to
> do it in the same form. I can it will break in 2 different forms, but it is
> awkward for the user. Is there a way common to this address?You can do what you want in your form processing script. But for
much more advanced than you must write your own code.> As a backdrop.
> the user updates the status of a message (IE, changing it from open to closed)
> and then provide an answer. The response table is separate from the table of messages
> because its format is doing different.Just curious: what is the difference? IMHO, there should be only one table
for messages. Can you post more details about it?Micha
-
Best way to update a table with separate values
Hi, I would really appreciate some advise:
I need to regularly perform a task where I update 1 table with all the new data that has been entered in another table. I cannot perform a complete insert because this will create data duplicated each time it works, so the only way I can think of is the use of cursors in the script below:
CREATE OR REPLACE PROCEDURE update_new_mem IS
tmpVar NUMBER;
CURSOR c_mem IS
SELECT nom_membre, member_id
OF gym.members;
CREC c_mem % ROWTYPE;
BEGIN
OPEN c_mem.
LOOP
SEEK c_mem INTO crec;
EXIT WHEN c_mem % NOTFOUND;
BEGIN
UPDATE gym.lifts
Name = crec.member_name
WHERE member_id = crec.member_id;
EXCEPTION
WHEN NO_DATA_FOUND THEN NULL;
END;
IF SQL % NOTFOUND THEN
BEGIN
INSERT INTO gym.lifts
(name, member_id)
VALUES (crec.member_name, crec.member_id);
END;
END IF;
END LOOP;
CLOSE C_mem;
END update_new_mem;
This method works, but y at - it a (faster) easier way to update another table with new data only?
Thank you very much>
This method works, but y at - it a (faster) easier way to update another table with new data only?
>
Almost anything would be better than this treatment of slow-by-slow loop.You don't need a procedure, you should just use MERGE for this. See the examples in the section of the MERGER of the doc of the SQL language
http://docs.Oracle.com/CD/B28359_01/server.111/b28286/statements_9016.htmMERGE INTO bonuses D USING (SELECT employee_id, salary, department_id FROM employees WHERE department_id = 80) S ON (D.employee_id = S.employee_id) WHEN MATCHED THEN UPDATE SET D.bonus = D.bonus + S.salary*.01 DELETE WHERE (S.salary > 8000) WHEN NOT MATCHED THEN INSERT (D.employee_id, D.bonus) VALUES (S.employee_id, S.salary*.01) WHERE (S.salary <= 8000);
-
Update of table with 14 million records
good day, I'm updating a table with 14 million documents column. using the data from another table.
This takes terrible time just updated to 500,000 over the weekend, which is unacceptable.
ideas to improve my code and get the fastest update is much appreciated.
DECLARE
TYPE vc_type is table of index varchar2 (20) by pls_integer;
type tabtype_rowid is table of pls_integer rowid indexes;
my_cur sys_refcursor;
cur_limit integer: = 10000;
tab_rowid tabtype_rowid;
Start
OPEN FOR My_cur
SELECT value, rowid
TABLE 1A
where the value IS NOT NULL
and id is null;
loop
collect the fetch my_cur in bulk in tab_value, cur_limit limit tab_rowid;
FORALL k IN 1.tab_npi.count
UPDATE table 1A
A.ID = (select id SET
in Table 2b
where value = tab_value (k)
and rownum = 1
)
WHERE a.rowid = tab_rowid (k);
COMMIT;
When the output tab_value.count < cur_limit;.
end loop;
END;
Thank you903537 wrote:
I tried to update basic training, as a first step and it crashed...He didn't fail, it failed.
-
call sub procedure for updating the table - need help
Hi all
I have a scneario wherein I get three values 0,2.5 and 57.
For each value, I'll call another procedure that updates a table "sample_dest".
The "sample_dest" table has a column "dest_nbr."
Now, for each three values I get,
I want to update only one record in the table 'sample_dest '.
for example, I want to update the column "dest_nbr" with a value of 59.5 (0 + 2.5 + 57).
I am unable to do this, because every time the procedure is called,
the previous values are not stored. 57 is the last value I get,
I am able to store only 57. But I want 59.5 to be updated in the table.
How can I achieve this.
Help, please.
Concerning
Rambeau.This should be done in a single sql statement, not in a loop of cursor (which is what it looks like you're doing). If sample_desc already contains records for samples, so it should look like:
UPDATE sample_desc sdesc SET desc = (SELECT AVG(code) FROM sample_dest sdest WHERE sdesc.sample = sdest.sample) WHERE EXISTS (SELECT 1 FROM sample_dest sdest WHERE sdesc.sample = sdest.sample)
If sample_desc does not already contain records (unknown from your description), then it would be an insert as:
INSERT INTO sample_desc SELECT sample, AVG(code) FROM sample_dest sdest GROUP BY sample
John
-
Programatically update af:table when clicking on createInsert af:button
Hi all
I use JDeveloper 11.1.2.4.0.
Requirement:
I have an af:panelCollection, inside I have a (Add) af:button and an af:table. Af: button creates an empty line in a table as createInsert. Now when I click on the Add button, it creates the empty line in the af: table. But the blank row is not visible immediately. It is visible only when I do another action in this page, as on some other tab and back.
From my observation, I found that the updating of the table does not occur immediately.
I want to create a blank line like createInsert done and immediately refresh the table so that the empty line is visible in the table.
I tried to adjust the partialTrigger of the tab; the reference to the id of the af: button, but still not working.
I tried to update the table in a pragmatic way during the click on the button, but did not work.
Can anyone suggest me solution for this.
Thank you and best regards,
Susanto
Try to update af:panelCollection and see.
-
Hi all
I have a page jspx, with a table and a button.
Create the table data control, and it contains 4 columns
(Name, card student, asked (Question or answer)).
I create the code for the button to work
1. Select a record
2 send email
3. when I send the request goes from Q to A
All work fine. The mail has been sent. The demand for DB password Q has. But in my jspx table refreshes.
Until I close and open again, it displays all the data.
How cal I solve it?
Thanks in advance
Christos.
Simply add partialTrigger on table pointing to the button.
It will update the table when the button is clicked.
-
Update a table using the clause
Hello
I want to update a table using the selected values.
Cases in the sample:
create table as empsalary)
Select 1 as empid, 0 in the wages of all the double union
Select option 2, the double 0);
Data update are as follows
with saldata as
(
Select 1 as empid, 5000 as wages, 500 as double pf
Union of all the
Select option 2, 10000,1000 like double pf
)
Select empid, salary saldata
I tried the following query but does not work
updated set of empsalary table (empid, salary) =
(
Select * from)
with saldata as
(
Select 1 as empid, salary, 500 5000 as pf Union double all the
Select option 2, 10000,1000 like double pf
)
Select empid, salary saldata
) sl
where sl.empid = empsalary.empid
)
I use oracle 10g.
Help, please.
Krishna Devi wrote:
Hello
I want to update a table using the selected values.
Cases in the sample:
create table as empsalary)
Select 1 as empid, 0 in the wages of all the double union
Select option 2, the double 0);
Data update are as follows
with saldata as
(
Select 1 as empid, 5000 as wages, 500 as double pf
Union of all the
Select option 2, 10000,1000 like double pf
)
Select empid, salary saldata
I tried the following query but does not work
updated set of empsalary table (empid, salary) =
(
Select * from)
with saldata as
(
Select 1 as empid, salary, 500 5000 as pf Union double all the
Select option 2, 10000,1000 like double pf
)
Select empid, salary saldata
) sl
where sl.empid = empsalary.empid
)
I use oracle 10g.
Help, please.
Thanks for posting creates table and test data.
The error message would have helped because it's pretty obvious that this is the problem:
Update table empsalary
*
ERROR on line 1:
ORA-00903: invalid table name
Just remove the word "table".
-
How to update the table when change list item in the classic report
Hello
I worked with apex 4.2 and I create normal classic report with list (named loved) select a column, now I want to update the table when the user changes the list with the new value, I can't create a dynamic action to do this, I create checkbox with the primary key and the loop for check point to update the table but I can not get the value of the list item. and for more speed, the user want to do it when changing the value from the list.
My question
1. how to do it in javascript and get the value of the list item and update the table with the new value
2. do I have to use the API to create the list item so I can get the value of the report item or what.
Thank you
AhmedYou can find a lot of information in this forum (and outside in google) when you search for AJAX processes and demand. However, the tutorial in the link below should be useful:
http://www.Oracle.com/WebFolder/technetwork/tutorials/OBE/DB/hol08/apexweb20/ajax_otn.htmBTW, if we answer your question, don't forget to mark the appropriate post as correct. It will help all of us in the forum.
-
Why is it I can't update a table of contents in Windows InDesign CS 5.5?
I clicked to a table in the framework of the summary, but in my menu layout, "Update table of contents" is grayed.
I "moved" my table of contents of an InDesign doc in a new doc, I created weeks ago. I can update in the old doc, but when it is copied into the new doc, the update option is no longer available.
Why can't I've updated once it is in another doc so I can use its TOC styles & layout rather than to have to redefine those all over again?
Thank you!
Layout > Styles of Table of contents > click on the load button.
-
Find min of 3 columns date, perform a subtraction and update of table
Hi, here are some examples of data, some of the columns in Main_Table
What I need is to find the min of D07 D05, D06, and then calculate the difference between this and Incident_datewith Table_1 as ( select to_date('25-JUL-2010 23:30','DD-MON-YYYY HH24:MI') incident_date, to_date('01-JUL-2001 20:10','DD-MON-YYYY HH24:MI') D04, to_date('01-JUL-1987 20:10','DD-MON-YYYY HH24:MI') D05 ,to_date('01-JUL-2009 20:10','DD-MON-YYYY HH24:MI') D06 from dual union all select to_date('21-JAN-2008 12:30','DD-MON-YYYY HH24:MI') incident_date, to_date(''), to_date('') D05 ,to_date('01-MAY-2004 20:10','DD-MON-YYYY HH24:MI') D06 from dual union all select to_date('11-FEB-2009 17:30','DD-MON-YYYY HH24:MI') incident_date, to_date('01-DEC-2001 20:10','DD-MON-YYYY HH24:MI') D04, to_date('01-JUL-1993 20:10','DD-MON-YYYY HH24:MI') D05 ,to_date('') D06 from dual union all select to_date('07-JUL-2011 11:30','DD-MON-YYYY HH24:MI') incident_date, to_date('01-JUL-2001 20:10','DD-MON-YYYY HH24:MI') D04, to_date('') D05 ,to_date('') D06 from dual ) select * from Table_1
Once this is done, I need to perform an update on Main_Table where a column called time was created using an alter table statement.
The code below is bad, but I hope you get the idea. I don't know where I would need to apply to the NVL so that the minutes are
Thanks in advance!UPDATE Main_Table SET Duration = ( select (incident_date - min(D05, D06, D07)) from Main_Table)
Banner:
Oracle Database 11 g Release 11.2.0.2.0 - 64 bit Production
PL/SQL Release 11.2.0.2.0 - Production
"CORE 11.2.0.2.0 Production."
AMT for Linux: Version 11.2.0.2.0 - Production
NLSRTL Version 11.2.0.2.0 - ProductionTry this
update main_table a set duration = ( select duration from ( select incident_date, incident_date-min(decode(l, 1, d04, 2, d05, 3, d06)) duration from main_table cross join (select level l from dual connect by level <= 3) group by incident_date ) b where a.incident_date = b.incident_date )
-
Update a table with a query that uses the table updated
Hi This is my request. It's a mistake, but I hope that the basic idea may carry out. Cost_before_Decision is a column by using an alter table statement, I added:
Error I get is:UPDATE fraud_nov_14_final SET Cost_before_Decision = (select Cost_Prior from fraud_nov_14_final ff ,(select cla_case_no, sum(case when decline = 1 or decline = 2 THEN (nvl(total_cost_adj_old,0) + nvl(decline_estimate,0)) ELSE Total_Cost END) Cost_Prior from reporting.ci_final@test group by cla_case_no) z where ff.cla_case_no = z.cla_case_no)
Error report:
SQL error: ORA-01427: einreihig subquery returns multiple rows
01427 00000 - "einreihig subquery returns several lines.
Thanks in advance for your help:
Banner:
Oracle Database 11 g Release 11.2.0.2.0 - 64 bit Production
PL/SQL Release 11.2.0.2.0 - Production
"CORE 11.2.0.2.0 Production."
AMT for Linux: Version 11.2.0.2.0 - Production
NLSRTL Version 11.2.0.2.0 - ProductionTry this
update fraud_nov_14_final a set cost_before_decision = ( select cost_prior from ( select cla_case_no, sum(case when decline = 1 or decline = 2 then (nvl(total_cost_adj_old,0) + nvl(decline_estimate,0)) else total_cost end) cost_prior from reporting.ci_final@test group by cla_case_no ) b where a.cls_case_no = b.cls_case_no )
Maybe you are looking for
-
Locked account and cannot contact the support
Hello I am from Greece and I bought my first Apple product, a Macbook Pro of official distributor in 2008, about the same time, I registered for Apple ID, today I tried to connect to icloud.com to check my email @me.com, but he asked security questio
-
I can read .mp3 I get with messenger
I get one. Is MP3 by messenger app, normal that I can't read it?
-
Already upgraded to Adobe Flash Player 9 weeks I tried to update the drive and it will not be installed. I downloaded as usual and later attempted to download my download folder. I can use my favorite for several days site, and all of a sudden, I get
-
I registered several times and hoping that the bubble would come back but I don't know what else to do.
-
Create DIA USB boot UEFI?
I have an E6440 with UEFI enabled in the bios. I installed windows 7 64 bit Ent. I installed DIA and created a USB and my captured image. Now when I test the USB on the same E6440 with active UEFI, the USB IS NOT to appear in the start menu in "UE