Updating multiple rows at a time
Dear buddies,
I am trying to update a couple of columns for multiple rows.
This is my SQL:
update department b
set (b.departmentid, b.departmentmaster2) =
(select a.departmentid, a.status
from departmentmaster a
where trim(a.description) in (select trim(dep_name)
from department b
where a.description = b.dep_name)
and b.dep_name = a.description)and this is the error message:
ORA-01427: single-row subquery returns more than one row
Managed to fix it myself.
Similar Messages
-
How to update multiple rows in one query using php
i am new to this can any one help me how to update multiple rows at a time i am doing an school attendance page
Often the situation is such that you have multiple courses across a range of dates.So students may take more than one course, and you need to track attendance for each course date. The following graphic demonstrates this:
In such a situation, you need four database tables as follows:
students (student_id, student_name, etc.)
courses (course_id, course_name, etc.)
students_courses (student_id, course_id)
attendance (student_id, course_id, dater)
A fifth table may also be needed to define the dates of courses, but you may also be able to build this array programmatically by using PHP's robust date functions, which can give you, for instance, all the Tuesdays and Thursdays between a start date and end date.
The students_courses table simply keeps track of which students are taking which courses, so it has just two columns for the primary keys of both of the main tables. The attendance table is similar, but it also includes a date field. The following view of the attendance table demonstrates this:
So if David's solution does cover your needs, consider yourself lucky, because this could quickly grow from a beginner-appropriate project to a moderately advanced one. -
BC4J datagrid to update multiple rows
Hi,
How do we update multiple rows at a time in a BC4J JSP with Struts. I intend to have a datagrid control on a JSP so that users may update multiple rows at a time and click 'Update' once.
There is a possible (workaround) solution using struts nested tags but one would lose the benefits of JBO tags on using struts tags (e.g Calendar control would not be visible for Date input).
Any implementation suggestions?
Regards,
AshishDoes the database only contain data where there are events on a given 15-minute time slot?
-
Update multiple rows based on two columns in same row
I have a 1000 rows in a table I would like to update with a unique value. This unique value is a cocatenation of two columns in teh same row.
Each row has a (i) date and a (ii) time and a (iii) date_time column. I would like to update the date_time (iii) column with a cocatenation of the (i) date and (ii) time columns.
I know how I would update a single row but how can I update multiple rows with a cocatenation of each of the two columns - i.e put a different value into the date_time column for each row?this?
update table tab_name
set date_time =date||time
where your_condition -
Updating Multiple Rows With A Sequence
I'm trying to update multiple rows of data in one column based on if its date is greater than a certain date. Starting with the lowest date from those dates I'll give it a 2000 and every ascending date from that point will be another number in sequence (2001, 2002, 2003, etc.).
Apologization Edit:
11g XE
Edited by: spysmily1 on Jun 4, 2012 5:50 PM
Edited by: spysmily1 on Jun 4, 2012 5:51 PMI would use a counter and start at a specific number. Then I would try to keep updating with this number and incrementing each time. The part I can't quite grasp is how to use this number with the lowest record and apply this sequence to each date that ascends from there. What I was going to try to come up with is something like:
DECLARE
counter := 2000;
BEGIN
loop
update table_name
set column_name = counter
where date > specified date;
counter := counter + 1;
end loop;
This is my first thought but I couldn't see a way to just update the first one that is greater than the specified date and then keep cycling through the dates until the last date(most recent). I know I would need a loop but what can I set that loop to so it would know when to stop. I could use a variable I know is less than the total amount that need to be altered.
Edited by: spysmily1 on Jun 4, 2012 6:21 PM -
Updating multiples rows in a trigger
Hello All,
I need to update multiple rows in a table based on some condition, do you have any ideas doing it?
I know we can update single row using :NEW, but this time we need to update like 10 rows in a table.
Thanks in advance for your reply.
With Regards,
SK
CREATE OR REPLACE TRIGGER stsc.dfutoskuallocfactor_trig
BEFORE UPDATE
ON stsc.dfutosku
FOR EACH ROW
DECLARE
v_dmdunit CHAR (30);
v_dmdgroup CHAR (30);
v_loc CHAR (30);
BEGIN
--dfutosku
INSERT INTO igpmgr.dfutosku_upd_rec
VALUES (:OLD.dmdunit, :OLD.dmdgroup, :OLD.dfuloc);
--FOR rec IN (SELECT DISTINCT dmdunit, dmdgroup, dfuloc, eff, disc
-- FROM stsc.dfutosku_upd_rec)
--LOOP
-- IF (rec.eff <> '01-Jan-1970' OR rec.eff >= SYSDATE)
-- THEN
-- DBMS_OUTPUT.put_line ('STAGE3 ' || ' ' || rec.eff);
v_dmdunit := 'PLY 4-000';
v_dmdgroup := 'TRD';
v_loc := '48441';
IF (v_dmdunit = 'PLY 4-000' AND v_dmdgroup = 'TRD' AND v_loc = '48441')
THEN
:NEW.udc_error := 1;
END IF;
--igpmgr.
pkg_updateAllocfactor.allocfactor_update(o_return_code OUT NOCOPY PLS_INTEGER);
--END IF;
-- END LOOP;
END;
/also posted in
{thread:id=1773210}
Updating multiple rows of the same table in a trigger -
How to add new row and update existing rows at a time form the upload file
hi
How to add new row and update existing rows at a time form the upload file
example:ztable(existing table)
bcent smh nsmh valid date
0001112465 7.4 26.06.2007
0001112466 7.5 26.06.2007
000111801 7.6 26.06.2007
1982 7.8 26.06.2007
Flat file structure
bcent nsmh valid date
0001112465 7.8 26.06.2007 ( update into above table in nsmh)
0001112466 7.9 26.06.2007 ( update into above table in nsmh)
000111801 7.6 26.06.2007 ( update into above table in nsmh
1985 11 26.06.2007 new row it should insert in table
thanks,
Sivagopal RHi,
First upload the file into an internal table. If you are using a file that is on application server. Use open dataset and close dataset.
Then :
Loop at it.
*insert or modify as per your requirement.
Endloop.
Regards,
Srilatha. -
Update multiple rows in a dynamic table Dreamweaver CS5.5
hello there
i want to update multiple rows which comes from a dynamic table in Dreamweaver CS5 (a loop in php) here is my Mysql table :
sql code
CREATE TABLE `register`.`s_lessons` (
`lid` int( 5 ) NOT NULL ,
`sid` int( 9 ) NOT NULL ,
`term` int( 5 ) NOT NULL ,
`tid` int( 5 ) NOT NULL ,
`point` double NOT NULL DEFAULT '0',
PRIMARY KEY ( `lid` , `sid` , `term` ) ,
KEY `tid` ( `tid` ) ,
KEY `point` ( `point` )
) ENGINE = MYISAM DEFAULT CHARSET = utf8 COLLATE = utf8_persian_ci;
and this is my page source code:
php file
<?php require_once('../Connections/register.php'); ?>
<?php
session_start();
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
if (PHP_VERSION < 6) {
$theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
$theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
return $theValue;
$colname1_rs1 = "-1";
if (isset($_GET['term'])) {
$colname1_rs1 = $_GET['term'];
$colname_rs1 = "-1";
if (isset($_GET['lid'])) {
$colname_rs1 = $_GET['lid'];
$colname2_rs1 = "-1";
if (isset($_SESSION['tid'])) {
$colname2_rs1 = $_SESSION['tid'];
mysql_select_db($database_register, $register);
$query_rs1 = sprintf("SELECT s_lessons.sid, s_lessons.lid, s_lessons.term, s_lessons.tid, s_lessons.point FROM s_lessons WHERE s_lessons.lid = %s AND s_lessons.term = %s AND s_lessons.tid = %s", GetSQLValueString($colname_rs1, "int"),GetSQLValueString($colname1_rs1, "int"),GetSQLValueString($colname2_rs1, "int"));
$rs1 = mysql_query($query_rs1, $register) or die(mysql_error());
$row_rs1 = mysql_fetch_assoc($rs1);
$totalRows_rs1 = mysql_num_rows($rs1);
$count=mysql_num_rows($rs1);
$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
$editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
for ($j = 0, $len = count($_POST['lid']); $j < $len; $j++) {
if ((isset($_POST["MM_update"])) && ($_POST["MM_update"] == "form1")) {
$updateSQL = sprintf("UPDATE s_lessons SET point=%s WHERE tid=%s, lid=%s, sid=%s, term=%s",
GetSQLValueString($_POST['point'] [$j], "double"),
GetSQLValueString($_SESSION['tid'], "int"),
GetSQLValueString($_POST['lid'] [$j], "int"),
GetSQLValueString($_POST['sid'] [$j], "int"),
GetSQLValueString($_POST['term'] [$j], "int"));
mysql_select_db($database_register, $register);
$Result1 = mysql_query($updateSQL, $register) or die(mysql_error());
$updateGoTo = "student_lists.php";
if (isset($_SERVER['QUERY_STRING'])) {
$updateGoTo .= (strpos($updateGoTo, '?')) ? "&" : "?";
$updateGoTo .= $_SERVER['QUERY_STRING'];
header(sprintf("Location: %s", $updateGoTo));
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta name="keywords" content="" />
<meta name="description" content="" />
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>r</title>
<link href="styles/style.css" rel="stylesheet" type="text/css" media="screen" />
<link href="styles/in_styles.css" rel="stylesheet" type="text/css" media="screen" />
</head>
<body>
<div id="wrapper">
<div id="header-wrapper">
</div>
<!-- end #header -->
<div id="page">
<div id="page-bgtop">
<div id="page-bgbtm">
<div id="content">
<div class="post">
<div style="clear: both;">
<form name="form1" id="form1" method="post" action="<?php echo $editFormAction; ?>">
<table border="1" align="center">
<tr>
<th>Student ID</th>
<th>Lesson ID</th>
<th>Semester</th>
<th>Point</th>
</tr>
<?php do { ?>
<tr>
<td class="data"><label for="sid[]"></label>
<input name="sid[]" type="text" id="sid[]" value="<?php echo $row_rs1['sid']; ?>" size="9" readonly="readonly" /></td>
<td class="data"><label for="lid[]"></label>
<input name="lid[]" type="text" id="lid[]" value="<?php echo $row_rs1['lid']; ?>" size="5" readonly="readonly" /></td>
<td class="data"><label for="term[]"></label>
<input name="term[]" type="text" id="term[]" value="<?php echo $row_rs1['term']; ?>" size="4" readonly="readonly" /></td>
<td><label for="point[]"></label>
<input name="point[]" type="text" id="point[]" value="<?php echo $row_rs1['point']; ?>" size="4" />
</tr>
<?php } while ($row_rs1 = mysql_fetch_assoc($rs1)); ?>
</table>
<p>
<input type="submit" name="Submit" id="Submit" value="Submit" />
<input type="hidden" name="MM_update" value="form1" />
</p>
</form>
</div>
</div>
<div style="clear: both;">
</div>
</div>
<!-- end #content -->
<!-- end #sidebar -->
<div style="clear: both;"> </div>
</div>
</div>
</div>
<!-- end #page -->
</div>
<!-- end #footer -->
</body>
</html>
<?php
mysql_free_result($rs1);
?>
All i want is that when users click on SUBMIT button values of point column in s_lessons(database table) be updated by new entries from user.
i did my best and result with that code is :
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' lid=888, sid=860935422, term=902' at line 1
I would appreciate any idea.
with prior thanksGo to the Row Properties, and in the Visibility tab, you have "Show or hide based on an expression". You can use this to write an expression that resolves to true if the row should be hidden, false otherwise.
Additionally, in the Matrix properties you should take a look at the filters section, perhaps you can achieve what you wish to achieve through there by removing the unnecessary rows instead of just hiding them.
It's only so much I can help you with the limited information. If you require further help, please provide us with more information such as what data are you displaying, what's the criteria to hiding rows, etc...
Regards
Andrew Borg Cardona -
Update multiple row for different values
hi,
Please provide me the sql query to update multiple row in a table with different values.
i need to change the old date to new date
we have only 3 column id,name,old date.now i need to update the old date to new date
ID name old date new date
1 A 2012-12-20 12/7/2012
2 B 2012-12-20 12/9/2012
3 c 2012-12-20 12/5/2012
thank you.Here are two ways to do this. Thanks to ranit for the table creation script, which I adapted.create table test_x
as
select 1 id, 'A' name, to_date('2012-12-20','yyyy-mm-dd') old_date
from dual UNION ALL
select 2 id, 'B' name, to_date('2012-12-20','yyyy-mm-dd') old_date
from dual UNION ALL
SELECT 3 ID, 'C' NAME, TO_DATE('2012-12-20','yyyy-mm-dd') OLD_DATE
from dual;First method using MERGE:MERGE INTO TEST_X O
USING (
select 1 id, to_date('12/7/2012','mm/dd/yyyy') new_date
from dual UNION ALL
select 2 id, to_date('12/9/2012','mm/dd/yyyy') new_date
from dual UNION ALL
SELECT 3 ID, TO_DATE('12/5/2012','mm/dd/yyyy') NEW_DATE
FROM DUAL
) n
ON (O.ID = N.ID)
WHEN MATCHED THEN UPDATE SET OLD_DATE = n.NEW_DATE;Second method using UPDATE:UPDATE TEST_X SET OLD_DATE =
CASE WHEN ID = 1 THEN TO_DATE('12/7/2012','mm/dd/yyyy')
WHEN ID = 2 THEN TO_DATE('12/9/2012','mm/dd/yyyy')
WHEN ID = 3 THEN TO_DATE('12/5/2012','mm/dd/yyyy')
END
where id between 1 and 3;
You probably don't want to use these methods.*
You say the "user" will enter these values. Will he always enter exactly 3 values?
The "user" will enter values into a screen I suppose. What language is the user interface programmed in? -
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. -
Updating multiple rows in a table in ADF
Hi
How do we update multiple rows in a table.
Onclicking a update button the changed rows must be updated.Hi Prince,
currently I am selecting one row from the table and rendering a region at the top of the table and capturing the user entered data with the following code:
ViewObjectVOImpl vo = getViewObjectVO1();
Row CurrentRow = vo.getCurrentRow();
//After this I perform the checks like user entered value is not null or check input as per business logic.
if(CurrentRow.getAttribute("attributeName") ==null){
//Add what message you want to display
//Add other business logic.
After making all the checks, i commit it.
getOADBTransaction().commit();
Now in my new page I am capturing the user input in the table itself like an excel sheet. Suppose there are ten rows in my advanced table on my page, and each row has one editable field. I have one save button at the bottom of the table.
Now on clicking the save button I have to capture the user input, check whether there is any null value and if all the entered data is correct then only I should commit it.
Can you please let me know how we can accomplish that.
Regards
Hawker -
Hi,
I have a problem updating multiple rows.
I have the following update:
update POI.PERFTABLE p set P.PERF_3YEAR_ANNO =
(Select
PERF_ANNO_DAUER
rtrim(fs.match),
3
From POI.FONDSSTAMM fs ) where p.MATCH=match
but I become the error: ORA-01427: single-row subquery returns more than one row.
How must I write my SQL-Command that it works??????????
thanxx
SchoeibHhhhmmmmm,
-- So - this doesn't work .......
UPDATE POI.PERFTABLE p
SET P.PERF_3YEAR_ANNO =
( SELECT PERF_ANNO_DAUER ( RTRIM( FS.Match ), 3 )
FROM POI.FONDSSTAMM fs
WHERE P.Match = v_Match
-- Maybe - you could force the sub-select to return a single row.
UPDATE POI.PERFTABLE p
SET P.PERF_3YEAR_ANNO =
( SELECT PERF_ANNO_DAUER ( RTRIM( FS.Match ), 3 )
FROM POI.FONDSSTAMM fs
-- Restrict the sub-query to returning a single row.
WHERE FS.Some_ID = P.some_Id
WHERE P.Match = v_Match
or even
-- Since you are using a function why not adjust the function,
-- or write a simular one, so that something like this would work.
UPDATE POI.PERFTABLE p
SET P.PERF_3YEAR_ANNO = PERF_ANNO_DAUER ( RTRIM( P.Match ), 3 )
WHERE P.Match = v_Match
;Dude,
Eric Kamradt -
Updating multiple rows with different values
Hi!
I have a problem. I need to update more then 1000 rows with different values. How can I do it?
For exsample i have table:
id; color, date,
1 red
2 green
3 white
I need to update date field.
Update table
set date='01.02.03'
where id=1
Update table
set date='01.03.03'
where id=2
Maybe there is way how to update multiple rows at one query?
Sorry for my bad english.
Thanks!Hi,
You can try this
UPDATE TABLE SET DATE = CASE
WHEN ID = 1 THEN TO_DATE('01-02-03','DD-MM-RR')
WHEN ID = 2 THEN TO_DATE('01-03-03','DD-MM-RR')
ENDcheers
VT -
Trouble updating multiple rows in table using subquery
Hi everyone, I'm having trouble updating multiple rows with a subquery. Here's the setup:
create table mytable (
col_a number primary key,
col_b number,
col_c number,
col_d number);
insert into mytable values (1 ,1,1,15);
insert into mytable values (2 ,1,2,7 );
insert into mytable values (3 ,1,3,11);
insert into mytable values (4 ,1,4,23);
insert into mytable values (5 ,1,5,14);
insert into mytable values (6 ,2,1,50);
insert into mytable values (7 ,2,2,41);
insert into mytable values (8 ,2,3,13);
insert into mytable values (9 ,2,4,12);
insert into mytable values (10,2,5,19);
insert into mytable values (11,3,1,10);
insert into mytable values (12,3,2,92);
insert into mytable values (13,3,3,81);
insert into mytable values (14,3,4,17);
insert into mytable values (15,3,5,66);
insert into mytable values (16,4,1,54);
insert into mytable values (17,4,2,41);
insert into mytable values (18,4,3,22);
insert into mytable values (19,4,4,24);
insert into mytable values (20,4,5,17);For this example, using an update statement (or merge if that's better), say I want to set the values for col_d where col_b = 3 equal to the values for col_d where col_b = 1 and col_c equal each other. Results should look like the following after the update:
col_a col_b col_c col_d
1 1 1 15
2 1 2 7
3 1 3 11
4 1 4 23
5 1 5 14
6 2 1 50
7 2 2 41
8 2 3 13
9 2 4 12
10 2 5 19
11 3 1 15
12 3 2 7
13 3 3 11
14 3 4 23
15 3 5 14
16 4 1 54
17 4 2 41
18 4 3 22
19 4 4 24
20 4 5 17I can see it right there at my fingertips using this query, where I want to set b_col_d = a_col_d, but I'm missing something, as this query returns too many rows when used in the update statement.
select * from (
select col_a as a_col_a, col_b as a_col_b, col_c as a_col_c, col_d as a_col_d
from mytable
where col_b = 1
) a, (
select col_a as b_col_a, col_b as b_col_b, col_c as b_col_c, col_d as b_col_d
from mytable
where col_b = 3
) b
where a.a_col_c = b.b_col_cupdate mytable set column_d = (select ??? where exists ???)
Can someone help me get there? I'm using 10GR2.
Thanks!
MarkHopefully this is what you are looking for:
SQL > UPDATE mytable myt1
2 SET col_d = ( SELECT myt2.col_d
3 FROM mytable myt2
4 WHERE myt2.col_b = 1
5 AND myt1.col_c = myt2.col_c
6 )
7 WHERE col_b = 3
8 AND EXISTS
9 ( SELECT NULL
10 FROM mytable myt2
11 WHERE myt2.col_c = myt1.col_c
12 )
13 ;
5 rows updated.
SQL > SELECT * FROM mytable ORDER BY col_a;
COL_A COL_B COL_C COL_D
1 1 1 15
2 1 2 7
3 1 3 11
4 1 4 23
5 1 5 14
6 2 1 50
7 2 2 41
8 2 3 13
9 2 4 12
10 2 5 19
11 3 1 15
12 3 2 7
13 3 3 11
14 3 4 23
15 3 5 14
16 4 1 54
17 4 2 41
18 4 3 22
19 4 4 24
20 4 5 17
20 rows selected.Thank you so much for providing the sample data in an easy to consume form, as well as the expected output. -
Hi,
Is there a way to update multiple rows when using CMPs.
For example I can update multiple rows by this method.
while (condition)
cmp = cmpHome.findByPrimaryKey(key);
cmp.setValue(newValue);
Rather than this method is there a way that I can update many rows just as normal sql update.
thanks in advance,
chamal.If you want to concatenate Acol column with sysdate for 605 and 608 ....i think you need to code less (of what you have posted)
UPDATE TEST
SET TEST.ACOL = TEST.ACOL || ' ' ||sysdate
where
test.acol in (605,608);--I don't know why you want this , Just given the suggestion as per the requirement.
Maybe you are looking for
-
Issue in integrating with facebook
Hi, I am trying to integrate my app with faceboo I am also able to post my reviews on facebook but when I click on the link posted on facebook, It redirects me to my correct page but doesn't load my review n give service unavailable error. it is givi
-
Does the APPS schema have full access to custom objects
DB - 11.2.0.3 - s390 - SLES11SP2 APP - 12.1.3 - x86_64 - SLES11SP2 One of my lead developers has posed a question to me.......namely - Does the APPS user have implicit select and delete privileges on custom objects without an explicit GRANT statement
-
Best Practices guides for activating New GL in BW?
Dear BWers, Does anybody have any links to the best practices guides for implementing the New GL in BW? Please share if you have any. Thanks Raj Message was edited by: Raj Singh
-
Using an iPhone4 with no Service plan...does the GPS still work?
If you take an iPhone 4 that does not have a Cell plan at all, and use it like an iPod Touch, will the GPS still work? Obviously, the assisted GPS portion will not work, but we're looking to use certain apps that measure distance via GPS (specifical
-
How to install network printer in OA on Widows NT. (OA 11 one hour installation, printer HP2100) I have already set printer style and driver. In drivers menu: SRW drivers - HPL, driver method - command, Arguments - print /d:\\izyda\fk-pzu19 $PROFILES