oracle update的使用方法

UPDATE语句的更新表中的数据。
  
UPDATE语句的指定以下信息:
  
  这是改变的表名,一个地方记录被改变,列名称的列表,给他们新的内容值,根据指定条件,你可以改变一个或多个字段使用相同的更新。

语法

UPDATE "表格名"
SET "栏位1" = [新值]
WHERE {条件}

实例

SQL> -- create demo table
SQL> create table Employee(
  2    ID                 VARCHAR2(4 BYTE)         NOT NULL,
  3    First_Name         VARCHAR2(10 BYTE),
  4    Last_Name          VARCHAR2(10 BYTE),
  5    Start_Date         DATE,
  6    End_Date           DATE,
  7    Salary             Number(8,2),
  8    City               VARCHAR2(10 BYTE),
  9    Description        VARCHAR2(15 BYTE)
 10  )
 11  /

Table created.

SQL>
SQL> -- prepare data
SQL> insert into Employee(ID,  First_Name, Last_Name, Start_Date,                     End_Date,                       Salary,  City,       Description)
  2               values ('01','Jason',    'Martin',  to_date('19960725','YYYYMMDD'), to_date('20060725','YYYYMMDD'), 1234.56, 'Toronto',  'Programmer')
  3  /

1 row created.

SQL> insert into Employee(ID,  First_Name, Last_Name, Start_Date,                     End_Date,                       Salary,  City,       Description)
  2                values('02','Alison',   'Mathews', to_date('19760321','YYYYMMDD'), to_date('19860221','YYYYMMDD'), 6661.78, 'Vancouver','Tester')
  3  /

1 row created.

SQL> insert into Employee(ID,  First_Name, Last_Name, Start_Date,                     End_Date,                       Salary,  City,       Description)
  2                values('03','James',    'Smith',   to_date('19781212','YYYYMMDD'), to_date('19900315','YYYYMMDD'), 6544.78, 'Vancouver','Tester')
  3  /

1 row created.

SQL> insert into Employee(ID,  First_Name, Last_Name, Start_Date,                     End_Date,                       Salary,  City,       Description)
  2                values('04','Celia',    'Rice',    to_date('19821024','YYYYMMDD'), to_date('19990421','YYYYMMDD'), 2344.78, 'Vancouver','Manager')
  3  /

1 row created.

SQL> insert into Employee(ID,  First_Name, Last_Name, Start_Date,                     End_Date,                       Salary,  City,       Description)
  2                values('05','Robert',   'Black',   to_date('19840115','YYYYMMDD'), to_date('19980808','YYYYMMDD'), 2334.78, 'Vancouver','Tester')
  3  /

1 row created.

SQL> insert into Employee(ID,  First_Name, Last_Name, Start_Date,                     End_Date,                       Salary, City,        Description)
  2                values('06','Linda',    'Green',   to_date('19870730','YYYYMMDD'), to_date('19960104','YYYYMMDD'), 4322.78,'New York',  'Tester')
  3  /

1 row created.

SQL> insert into Employee(ID,  First_Name, Last_Name, Start_Date,                     End_Date,                       Salary, City,        Description)
  2                values('07','David',    'Larry',   to_date('19901231','YYYYMMDD'), to_date('19980212','YYYYMMDD'), 7897.78,'New York',  'Manager')
  3  /

1 row created.

SQL> insert into Employee(ID,  First_Name, Last_Name, Start_Date,                     End_Date,                       Salary, City,        Description)
  2                values('08','James',    'Cat',     to_date('19960917','YYYYMMDD'), to_date('20020415','YYYYMMDD'), 1232.78,'Vancouver', 'Tester')
  3  /

1 row created.

SQL>
SQL>
SQL>
SQL> -- display data in the table
SQL> select * from Employee
  2  /

ID   FIRST_NAME LAST_NAME  START_DAT END_DATE      SALARY CITY       DESCRIPTION
---- ---------- ---------- --------- --------- ---------- ---------- ---------------
01   Jason      Martin     25-JUL-96 25-JUL-06    1234.56 Toronto    Programmer
02   Alison     Mathews    21-MAR-76 21-FEB-86    6661.78 Vancouver  Tester
03   James      Smith      12-DEC-78 15-MAR-90    6544.78 Vancouver  Tester
04   Celia      Rice       24-OCT-82 21-APR-99    2344.78 Vancouver  Manager
05   Robert     Black      15-JAN-84 08-AUG-98    2334.78 Vancouver  Tester
06   Linda      Green      30-JUL-87 04-JAN-96    4322.78 New York   Tester
07   David      Larry      31-DEC-90 12-FEB-98    7897.78 New York   Manager
08   James      Cat        17-SEP-96 15-APR-02    1232.78 Vancouver  Tester

8 rows selected.

SQL>
SQL>
SQL> UPDATE employee
  2  SET last_name = 'Orange'
  3  WHERE id = 2;

1 row updated.

SQL>
SQL> Select * from employee;

ID   FIRST_NAME LAST_NAME  START_DAT END_DATE      SALARY CITY       DESCRIPTION
---- ---------- ---------- --------- --------- ---------- ---------- ---------------
01   Jason      Martin     25-JUL-96 25-JUL-06    1234.56 Toronto    Programmer
02   Alison     Orange     21-MAR-76 21-FEB-86    6661.78 Vancouver  Tester
03   James      Smith      12-DEC-78 15-MAR-90    6544.78 Vancouver  Tester
04   Celia      Rice       24-OCT-82 21-APR-99    2344.78 Vancouver  Manager
05   Robert     Black      15-JAN-84 08-AUG-98    2334.78 Vancouver  Tester
06   Linda      Green      30-JUL-87 04-JAN-96    4322.78 New York   Tester
07   David      Larry      31-DEC-90 12-FEB-98    7897.78 New York   Manager
08   James      Cat        17-SEP-96 15-APR-02    1232.78 Vancouver  Tester

8 rows selected.

同时更新多条记录

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

  

时间: 2024-10-13 10:46:42

oracle update的使用方法的相关文章

oracle rowid 的使用方法

oracle rowid 的使用方法 1.创建一临时表 create table test_rowid (id number, row_id rowid); 2.插入一行记录 insert into test_rowid values(1,null); 3.修改刚插入的记录 update test_rowid set row_id = rowid where id = 1; 4.查看rowid select rowid,row_id from test_rowid; 返回结果为: rowid  

Oracle变异表解决方法--ORA-04091错误

Oracle变异表解决方法--ORA-04091错误 原因:触发器(或者被语句中引用的用户自定义PL/SQL函数)视图去查询(或修改)一个被另一语句修改而触发的表. 解决方法:重写触发器(或函数)避免读该表. 对表进行DELETE,UPDATE,INSERT操作时,所操作的表就变成了变异表,对表的行级(FOR EACH ROW)触发器中不能对该表进行DML操作.这时可以使用两个方法解决. [@more@] 1.采用自治事务pragma autonomous_transaction解决. 下面给出

oracle查看实例名方法

  从事编程的朋友们可能都会遇到连接连接Oracle时会出现oracle url无效的问题,下面小编就教大家oracle查看实例名方法 来帮助各位解决这个问题. oracle查看实例名 在两个配置文件里面分别是listener.ora和tnsnames.ora.路径是:D:Oracle9i_9.2networkadmin,里面写明了远程连接的实例名和端口号,也就是SERVICE_NAME.同时oracle查看实例名 还有另外一种方法就是用SQL语句查询.用管理员身份system登陆后输入"sho

oracle update数据更新的实现语句

  oracle update数据更新的实现语句 SQL> -- create demo table SQL> create table Employee( 2 ID VARCHAR2(4 BYTE) NOT NULL, 3 First_Name VARCHAR2(10 BYTE), 4 Last_Name VARCHAR2(10 BYTE), 5 Start_Date DATE, 6 End_Date DATE, 7 Salary Number(8,2), 8 City VARCHAR2(1

解析mysql与Oracle update的区别

本篇文章是对mysql与Oracle update的区别进行了详细的分析介绍,需要的朋友参考下   update :单表的更新不用说了,两者一样,主要说说多表的更新 复制代码 代码如下:        Oracle> Oracle的多表更新要求比较严格,所以有的时候不是很好写,我们可以试试Oracle的游标         update (         select t.charger_id_ new_charger_id_         from t_cus_year_status t

oracle清理数据的方法

oracle清理数据的方法 一.删除一个用户下所有数据库对象 一种方法是删除这个用户然后重建,需要管理员操作: drop user wangyi cascade; --删除用户select * from dba_users where username = 'wangyi' --查询默认表空间drop tablespace WANGYI_DTBS including contents and datafiles; --删除表空间 重建用户: create user wangyi identifi

asp 连接 oracle数据库两种方法

'oracle 连接方法: set adocon=server.createobject("adodb.connection") adocon.open"driver={microsoft odbc for oracle};server=oraclesever.world;uid=admin;pwd=pass;" 'oracle ole db 连接方法: set adocon=server.createobject("adodb.connection&qu

Oracle数据库的备份方法

1.引言 Oracle数据库的备份方法很多,无论使用那种备份方法,备份的目的都是为了在出现故障后能够以尽可能小的时间和代价恢复系统.比如使用export实用程序导出数据库对象.使用Oracle备份数据库.使用Oracle对称复制.使用Oracle并行服务器.使用Oracle冷备份.使用Oracle热备份等各种备份方法都有其优缺点.适用的场合和相应的软硬件要求.本文主要就用export实用程序导出数据库对象.Oracle冷备份.Oracle热备份这三种最基本的备份方法进行详细的探讨,分析各自的优缺

SQL语句中的case when语法以及Oracle中的类似方法

一.基本概念和例子 case when是sql语句的语法,而不是属于特定数据库的语言 方法一: select num,name, (case classnowhen '1' then '一班'when '2' then '二班'else '其他班级' end) as classname from student 方法二: select num,name, (case when classno = '1' then '一班'when classno = '2' then '二班'else '其他班