Merge into 详细介绍
摘要:介绍: MERGE语句是Oracle9i新增的语法,用来合并UPDATE和INSERT语句。通过MERGE语句,根据一张表或子查询的连接条件对另外一张表进行查询,连接条件匹配上的进行UPDATE,无法匹配的执行INSERT。 这个语法仅需要一次全表扫描就完成了全部工作,执行效率要高于INSERT+UPDATE。 語法: MERGE [INTO [schema .] table [t_alias] USING [schema .] { table | view | subquery } [t_alias] ON ( condition ) WHEN MATCHED THEN merge...
阅读全文
posted @
2013-08-30 09:23
垦荒牛
阅读(434)
推荐(0)
Oracle中用一个表的数据更新另一个表的数据
摘要:有下面两个表:将表tab1中id值与和表tab2中id值相同的行的val更新为tab2中val的值(用tab2中的val值更新tab1的val).select * from tab1; select * from tab2 最容易犯的错误是:update tab1 set val=(select val from tab2 where tab1.id=tab2.id);更新完后的结果是:select * from tab1,在tab1中有的行,如果在tab2中没有对应的行, 值被更新为null改正为:update tab1 set val=(select val from tab2 where
阅读全文
posted @
2013-08-30 08:45
垦荒牛
阅读(2696)
推荐(0)
ORACLE 多表关联 UPDATE 语句
摘要:为了方便起见,建立了以下简单模型,和构造了部分测试数据: 在某个业务受理子系统BSS中,客户资料表 create table customers ( customer_id number(8) not null, -- 客户标示 city_name varchar2(10) not null, -- 所在城市 customer_type char(2) not null, -- 客户类型 ... ) create unique index PK_customers on customers (customer_id) 由于某些原因,客户所在城市这个信息并不什么准确,但是在客户服务部的C...
阅读全文
posted @
2012-08-16 16:11
垦荒牛
阅读(1829)
推荐(0)
获取MSSQLServer,Oracel,Access数据字典信息
摘要:1: 数据字典记录了数据库的系统信息,是只读表和视图的集合,数据字典的所有者为sys用户,并且存放在system表空间中。 数据字典基表存放基本信息,普通用户不能访问,只能通过访问数据字典视图取得系统信息,数据字典包含三种类型: USER_XXX: 所有数据库对象 ALL_XXX: 当前用户可以存放的所有对象 DBA_XXX: 当前用户所拥有的对象2: 数据字典内容 A:对象定义 当执行create命令创建对象时,Oracle会将对象存放到数据字典中,可以使用DBMS_METADATA可以获取对象定义语句,: SQL>SET LONG 4000 SQL>SELECT dbms_me
阅读全文
posted @
2012-05-17 23:02
垦荒牛
阅读(426)
推荐(0)