user_constraints,user_cons_columns
Oracle 查看一个表对应的主键和外键的约束关系,查看的语句: select a.owner 主键拥有者 ,a.table_name 主键表 ,b.column_name 主键列 ,C.OWNER 外键...
BREAK 命令和compute
Merge into
/*Merge into 详细介绍MERGE语句是Oracle9i新增的语法,用来合并UPDATE和INSERT语句。通过MERGE语句,根据一张表或子查询的连接条件对另外一张表进行查询,连接条件匹配上的进行UPDATE,无法匹配的执行INSERT。这个语法仅需要一次全表扫描就完成了全部工作,执行效率要高于INSERT+UPDATE。 *//*語法:MERGE ...
Oracle Set命令的应用
1). 设置当前session是否对修改的数据进行自动提交 SQL>SET AUTO[COMMIT] {ON|OFF|IMM[EDIATE]| n}2).在用start命令执行一个sql脚本时,是否显示脚本中正在执行的SQL语句 SQL> SET ECHO {ON|OFF}3).是否显示当前sql语句查询或修改的行数 SQL> SET FEED[BACK] {6|n|ON|OFF} 默认只有结果大于6...
oracle下lag和lead分析函数
Lag和Lead分析函数可以在同一次查询中取出同一字段的前N行的数据(Lag)和后N行的数据(Lead)作为独立的列。这种操作可以代替表的自联接,并且LAG和LEAD有更高的效率。语法:view plain [sql] copy/*基础数据*/ select t.* from t...
oracle for update和for update nowait的区别
1、for update 和 for update nowait 的区别: 首先一点,如果只是select 的话,Oracle是不会加任何锁的,也就是Oracle对 select 读到的数据不会有任何限制,虽然这时候有可能另外一个进程正在修改表中的数据,并且修改的结果可能影响到你目前select语句的结果,但是因为没有锁,所以select结果为当前...
connect by level/rownum
在准备测试环境的过程中,经常会遇到需要大量连续数字的情况。在这种需求下我们如何快速地完成数据的准备工作呢?使用文本编辑器编写好初始化的脚本固然可行,但是过于拙笨。Oracle提供的层次查询(Hierarchical Queries)功能中的connect by子句可以协助我们便捷的达到目标。1.创建测试表Tsec@ora10g> insert into t ...
Oracle Exception 异常处理
预定义异常:由PL/SQL定义的异常。由于它们已在standard包中预定义了,因此,这些预定义异常可以直接在程序中使用,而不必再定义部分声明。自定义异常:用户自定义的异常,需要在定义部分声明后才能在可执行部分使用。用户自定义异常对应的错误不一定是Oracle错误,例如它可能是一个数据错误。1、预定义异常的种...
oracle case
1. CASE WHEN 表达式有两种形式[url=][/url]--简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END --Case搜索函数 CASEWHEN sex = '1' ...
oracle 中的PRAGMA AUTONOMOUS_TRANSACTION
exp:Create table Msg (Msg varchar(50)) ;自制事务:create or replace procedure AutoNomouse_Insert is PRAGMA AUTONOMOUS_TRANSACTION; begin insert into Msg values('AutoNomouse Inser...