Change more than one column value in update statement : Update « Insert Update Delete « Oracle PL/SQL Tutorial






SQL>
SQL> create table employees(
  2    empno      NUMBER(4)
  3  , ename      VARCHAR2(8)
  4  , init       VARCHAR2(5)
  5  , job        VARCHAR2(8)
  6  , mgr        NUMBER(4)
  7  , bdate      DATE
  8  , msal       NUMBER(6,2)
  9  , comm       NUMBER(6,2)
 10  , deptno     NUMBER(2) ) ;

Table created.

SQL>
SQL>
SQL> insert into employees values(1,'Jason',  'N',  'TRAINER', 2,   date '1965-12-18',  800 , NULL,  10);

1 row created.

SQL> insert into employees values(2,'Jerry',  'J',  'SALESREP',3,   date '1966-11-19',  1600, 300,   10);

1 row created.

SQL> insert into employees values(3,'Jord',   'T' , 'SALESREP',4,   date '1967-10-21',  1700, 500,   20);

1 row created.

SQL> insert into employees values(4,'Mary',   'J',  'MANAGER', 5,   date '1968-09-22',  1800, NULL,  20);

1 row created.

SQL> insert into employees values(5,'Joe',    'P',  'SALESREP',6,   date '1969-08-23',  1900, 1400,  30);

1 row created.

SQL> insert into employees values(6,'Black',  'R',  'MANAGER', 7,   date '1970-07-24',  2000, NULL,  30);

1 row created.

SQL> insert into employees values(7,'Red',    'A',  'MANAGER', 8,   date '1971-06-25',  2100, NULL,  40);

1 row created.

SQL> insert into employees values(8,'White',  'S',  'TRAINER', 9,   date '1972-05-26',  2200, NULL,  40);

1 row created.

SQL> insert into employees values(9,'Yellow', 'C',  'DIRECTOR',10,  date '1973-04-27',  2300, NULL,  20);

1 row created.

SQL> insert into employees values(10,'Pink',  'J',  'SALESREP',null,date '1974-03-28',  2400, 0,     30);

1 row created.

SQL>
SQL> select * from employees;

     EMPNO ENAME    INIT  JOB             MGR BDATE           MSAL       COMM     DEPTNO
---------- -------- ----- -------- ---------- --------- ---------- ---------- ----------
         1 Jason    N     TRAINER           2 18-DEC-65        800                    10
         2 Jerry    J     SALESREP          3 19-NOV-66       1600        300         10
         3 Jord     T     SALESREP          4 21-OCT-67       1700        500         20
         4 Mary     J     MANAGER           5 22-SEP-68       1800                    20
         5 Joe      P     SALESREP          6 23-AUG-69       1900       1400         30
         6 Black    R     MANAGER           7 24-JUL-70       2000                    30
         7 Red      A     MANAGER           8 25-JUN-71       2100                    40
         8 White    S     TRAINER           9 26-MAY-72       2200                    40
         9 Yellow   C     DIRECTOR         10 27-APR-73       2300                    20
        10 Pink     J     SALESREP            28-MAR-74       2400          0         30

10 rows selected.

SQL>
SQL>
SQL> update employees
  2  set    job    = 'SALESREP'
  3  ,      msal   = msal - 500
  4  ,      comm   = 0
  5  ,      deptno = 30;

10 rows updated.

SQL>
SQL> select * from employees;

     EMPNO ENAME    INIT  JOB             MGR BDATE           MSAL       COMM     DEPTNO
---------- -------- ----- -------- ---------- --------- ---------- ---------- ----------
         1 Jason    N     SALESREP          2 18-DEC-65        300          0         30
         2 Jerry    J     SALESREP          3 19-NOV-66       1100          0         30
         3 Jord     T     SALESREP          4 21-OCT-67       1200          0         30
         4 Mary     J     SALESREP          5 22-SEP-68       1300          0         30
         5 Joe      P     SALESREP          6 23-AUG-69       1400          0         30
         6 Black    R     SALESREP          7 24-JUL-70       1500          0         30
         7 Red      A     SALESREP          8 25-JUN-71       1600          0         30
         8 White    S     SALESREP          9 26-MAY-72       1700          0         30
         9 Yellow   C     SALESREP         10 27-APR-73       1800          0         30
        10 Pink     J     SALESREP            28-MAR-74       1900          0         30

10 rows selected.

SQL>
SQL>
SQL> drop table employees;

Table dropped.








4.3.Update
4.3.1.Modifying Rows Using the UPDATE Statement
4.3.2.Change more than one column value in update statement
4.3.3.If the WHERE clause were omitted, all the rows would be updated.
4.3.4.Change multiple rows and multiple columns in the same UPDATE statement
4.3.5.Use function in set clause
4.3.6.Writing an UPDATE Statement Containing a Subquery
4.3.7.Use TO_DATE('December 31, 2005, 11:30 P.M.','Month dd, YYYY, HH:MI P.M.') in update statement
4.3.8.Set clause with math expression
4.3.9.Update with subquery
4.3.10.Update a subquery
4.3.11.Set value based on a select statement
4.3.12.Change department name to lower case
4.3.13.Update data from existing column
4.3.14.Update four columns
4.3.15.Update one row
4.3.16.Update salary based on average salary
4.3.17.Update the emp table, converting emp names to uppercase
4.3.18.subquery in update statement
4.3.19.To update the salary of all emps to the maximum salary in the corresponding department (correlated subquery):