1. sybase与oracle中insert into select和select into的用法 http://wjlvivid.iteye.com/blog/1921679 Sybase 一.首先,我们来看一下insert into select语句 其语法形式为:Insert into Table2(field1,field2,...) select value1,value2,... from Table1. 这里的要求就是Table2必须已经存在,如果不存在,系统则会提示对象无效.…
用sql语句导出oracle中的存储过程和函数: SET echo off ; SET heading off ; SET feedback off ; SPOOL 'C:/PRC.SQL' replace SELECT CASE THEN 'CREATE OR REPLACE ' || TEXT WHEN LINE = MAX_LINE THEN ) || '/' ELSE TEXT END FROM USER_SOURCE A LEFT JOIN (SELECT A.NAME,A.TYPE,…
Insert Into select 与 Select Into 哪个更快? 在平常数据库操作的时候,我们有时候会遇到表之间数据复制的情况,可能会用到INSERT INTO SELECT 或者 SELECT INTO : 那么二者语法上有什么区别?性能上又如何呢? 围绕着这两个问题,今天就来总结对比下: 一:语法区别 1: INSERT INTO SELECT 的语法 INSERT INTO SELECT 语句从一个表复制数据,然后把数据插入到一个已存在的表中.目标表中任何已存在的行都不会受影响…
1. sybase 和 oracle 比较 http://blog.itpub.net/14067/viewspace-1030014/ Oracle采用多线索多进程体系结构 Sybase采用单进程多线索体系结构 Oracle和Sybase都采用多线索. 采用多线索的模式,能用较少的线索管理大量的用户进程;并且,线索进程是动态可调整的,当用户数增加时, 线索进程也会阶段性地自动增加;当用户数减少时,线索进程也会自动减少.多线 索结构,大大降低了Oracle和Sybase对系统资源的占用,提高了系…
原因:在oracle中,执行了update或者insert语句后,都会要求commit,如果不commit却强制关闭连接,oracle就会将这条提交的记录锁住.下次就不能执行增删操作. 解决:1.查询锁 SELECT s.sid, s.serial# FROM v$locked_object lo, dba_objects ao, v$session s WHERE ao.object_id = lo.object_id AND lo.session_id = s.sid; 2.删除锁(要有ro…
oracle中的insert 和 mysql添加多条数据的 方式不太一样 用到的语法: insert all into 表名(需要添加的表字段)values(添加的字段数据一定要对应字段顺序) into 表名(需要添加的表字段)values(添加的字段数据一定要对应字段顺序) select 1 from dual; dual是虚拟表                这句话的意思就是返回一个值,这里的值就是1…
在SQL92标准中,事务隔离级别分为四种,分别为:Read Uncommitted.Read Committed.Read Repeatable.Serializable 其中Read Uncommitted与Read Committed为语句级别的,而Read Repeatable与Serializable是针对事务级别的. 在Oracle和SQL Server中设置事务隔离级别的语句是相同的,都使用SQL92标准语法,即: Set Transaction Isolation Level Re…
转载:https://www.cnblogs.com/liuzy2014/p/5794928.html 在oracle中sequence就是序号,每次取的时候它会自动增加.sequence与表没有关系. 1.Create Sequence 首先要有CREATE SEQUENCE或者CREATE ANY SEQUENCE权限. 创建语句如下: CREATE SEQUENCE seqTestINCREMENT BY 1 -- 每次加几个START WITH 1 -- 从1开始计数NOMAXvalue…
connect by 是结构化查询中用到的,基本语法是:select … from tablenamestart with 条件1connect by 条件2where 条件3; 例:select * from tablestart with org_id = ‘ghf’connect by prior org_id = parent_id; 简单说来是将一个树状结构存储在一张表里,比如一个表中存在两个字段:org_id,parent_id那么通过表示每一条记录的parent是谁,就可以形成一个…
我记得我曾经在开发form的时候犯过这样一个错误,对于form中的某个字段,对应于数据库中某张表的字段,假设在数据库中这个字段一般也就用到20个汉字的长度,后来我在开发form的时候,设置item类型长度的时候,我惯性的设置成了50byte,想着就算是20个汉字,最多也就占40个byte长度嘛.可是,就因为这一个想当然,结果出现错误了,后来发现数据库字符集编码是utf8,那么应该设置为60.从那以后,每次涉及到给字段设置长度的时候,我都会特别注意下,到底是啥编码. 在Oracle中,比较常见的可…
/**1. 用select 创建相同表结构的表*/create table test_tbl2 as select * from test_tbl1 where 1<>1; /**  2. 用insert into .. select 插入*/insert into test_tbl2(id,name,salary) select id,name,salary from test_tbl1 where id<6;…
Oracle: create table zjhis.mz_zdxx_zl as select a.sfsb, wm_concat(a.zdmc) as 诊断 from zjhis.mz_zdxx a group by a.sfsb 直接可以使用 wm_concat 函数   SQl SERVER : select t.patient_id,       t.times,       [ values ] = stuff((select ',' + icd_name               …
insert ALL into u_role_permission(rid,pid) values (4,12) into u_role_permission(rid,pid) values (3,4) into u_role_permission(rid,pid) values (3,6) into u_role_permission(rid,pid) values (3,7) into u_role_permission(rid,pid) values (3,13) into u_role_…
如果我们需要将两个select语句的结果作为一个整体显示出来,我们就需要用到union或者union all关键字.union(或称为联合)的作用是将多个结果合并在一起显示出来.union和union all的区别是,union会自动压缩多个结果集合中的重复结果,而union all则将所有的结果全部显示出来,不管是不是重复.Union:对两个结果集进行并集操作,不包括重复行,同时进行默认规则的排序:Union All:对两个结果集进行并集操作,包括重复行,不进行排序:Intersect:对两个…
除外: oracle没有except这个关键字,这个关键字属于sqlserver ,在oracle里,他叫minus,与except是一个意思. select a.code OrgId, b.code AppId from NSTM_ORGANIZATION a left join NSTM_SYSTEM b on a.id=b.org_id where a.code='01' and b.code<>'HIP0104' minus select a.code OrgId, b.code Ap…
SqlServer 2k转换为Oracle 10g 列名 SqlServer数据类型 SqlServer长度 Oracle数据类型 column1 ) column2 ) column3 ) column4 ) column5 DATE column6 ) column7 BINARY_DOUBLE column8 BLOB column9 ) column10 ,) column11 ) column12 NCLOB column13 numeric ) column14 NVARCHAR2(…
oracle 里面经常这样用 select col1,col2..., row_number() over (partition by colx order by coly) from table_name;; 这句话的意思是把表中的数值按照colx 分组,每一组内部按照coly排序,同时 row_number()返回排序之后该记录在改组内部的序号. 比如我们知道有emp表如下: SQL> SELECT * FROM SCOTT.EMP; EMPNO ENAME JOB MGR HIREDATE…
转自:http://rainbowdesert.iteye.com/blog/1677911 博客分类: SQL   1.  判断(case when) SELECT col1, col2, CASE ' ' ' ' END mylevel FROM table1 注意点: (1) 以CASE开头,以END结尾 (2) 分支中WHEN 后跟条件,THEN为显示结果 (3) ELSE 为除此之外的默认情况,类似于高级语言程序中switch case的default,可以不加 (4) END 后跟别…
intersect 就是交集minus 就是差集 交集就是两个结果集中都有的元素 比如 select uid from tb1 intersect select uid from tb2 那么既存在tb1 又存在tb2中 相同的UID 就会查出来 差集:select uid from tb1minus select uid from tb2 存在于tb1 但不存在与tb2中的uid 会被查出 操作符 UNION 操作符用于合并两个或多个 SELECT 语句的结果集.请注意,UNION 内部的 S…
in 是把外表和内表作hash 连接,而exists是对外表作loop循环,每次loop循环再对内表进行查询. not exists:做NL,对子查询先查,有个虚表,有确定值,所以就算子查询有NULL最终也有值返回 not in:做hash,对子查询表建立内存数组,用外表匹配,那子查询要是有NULL那外表没的匹配最终无值返回.     一直以来认为exists比in效率高的说法是不准确的.   如果查询的两个表大小相当,那么用in和exists差别不大.  如果两个表中一个较小,一个是大表,则子…
原文链接:http://blog.csdn.net/myzhanglt/article/details/7392999 今日学习遇到一个不熟悉的函数LPAD,查了一下文档,将其用法总结如下: Lpad Function:在PL/SQL中用于往源字符串的左侧填充一些字符. 函数参数:lpad( string1, padded_length, [ pad_string ] ) 其中 string1:源字符串 padded_length:最终返回的字符串的长度,如果最终返回的字符串的长度比源字符串的小…
DECODE函数的用法:   DECODE(value,if1,then1,if2,then2,if3,then3,......,else),表示如果value的值等于if1时,DECODE函数的结果返回then1,......,如果不等于任何一个if值时,则返回else值.   NVL函数的用法:   NVL(expr1,expr2),表示如果expr1的值为NULL时,则返回expr2的值,否则返回expr1的值.   NVL2函数的用法: NVL2(expr1,expr2,expr3),检…
1.和其他数据库系统类似,Oracle字符串连接使用“||”进行字符串拼接,其使用方式和MSSQLServer中的加号“+”一样. 例如: SELECT '工号为'||FNumber||'的员工姓名为'||FName FROM T_Employee WHERE FName IS NOT NULL 2.除了“||”,Oracle还支持使用CONCAT()函数进行字符串拼接,比如执行下面的SQL语句: SELECT CONCAT('工号:',FNumber) FROM T_Employee 如果CO…
    花点时间整理下sql基础,温故而知新.文章的demo来自oracle自带的dept,emp,salgrade三张表.解锁scott用户,使用scott用户登录就可以看到自带的表. #使用oracle用户登录linux [oracle@localhost ~]$ sqlplus / as sysdba; ...... SQL> alter user scott account unlock: 四大语句 DQL语句--select DML语句--insert,upate,delete等(关键…
1增 1.1[创建一张表] create table 表名(列名 类型); 例: ),性别 ),出生日期 date); ),sex ),出生日期 date); 1.2[插入单行]insert [into] <表名> (列名) values (列值)例: insert into stu (姓名,性别,出生日期) values ('张三','男',to_date('1993-1-1','yyyy-mm-dd')); 1.3[将现有表数据添加到一个已有表]insert into <已有的新表&…
花点时间整理下sql基础,温故而知新.文章的demo来自oracle自带的dept,emp,salgrade三张表.解锁scott用户,使用scott用户登录就可以看到自带的表. #使用oracle用户登录linux [oracle@localhost ~]$ sqlplus / as sysdba; ...... SQL> alter user scott account unlock: 四大语句 DQL语句——select DML语句——insert,upate,delete等(关键字后带表…
.部分SQL语句差异 (1)SQL:select top 10 * from table     ORA: select * from table where rownum<11(2)SQL:Select * from t1 join t2 on t1.c1=t2.c1     ORA: select * from t1,t2 where t1.c1=t2.c1(3)select * from t1 left join t2 on t1.c1=t2.c1     ORA: select * fr…
Oracle job有定时执行的功能,可以在指定的时间点或每天的某个时间点自行执行任务. 一.查询系统中的job,可以查询视图 --相关视图 select * from dba_jobs; select * from all_jobs; select * fromuser_jobs; -- 查询字段描述 /* 字段(列)                  类型                 描述 JOB                        NUMBER          任务的唯一标…
一.SQL语句概述 (1)SQL全程是"结构化查询语言(Structured Query Language)". SQL是大多数主流数据库系统採用的标准查询语言. (2)SQL语句的优势:语言结构简单.功能强大.简单易学. (3)在进行SQL开发是为了更easy的訪问关系数据库,所以SQL可以运行以下几种操作: ①从数据库中查询数据 ②向数据库中插入数据 ③从数据库中删除数据 ④创建和操作数据库对象(如用户.索引.触发器等) ⑤控制对数据库的訪问 ⑥更新数据 (4)注意:SQL不是程序…
在Sql Server远程访问Oracle 中的数据库表时: 远程语法通常为: select * from OpenQuery(Oracle链接服务器名称,‘查询语句’) eg: select * from OPENQUERY(QTX,'select * from student') 有些情况下只会返回student表一条数据 第一条 解决方法:数据源ODBC中 选择系统DNS 时,新建系统数据源 选择的对应驱动应该为Oracle Instant Client Dricver  这个驱动需要安装…