SQL> CREATE TABLE T_LONG (ID NUMBER, LONG_COL LONG); 表已创建。 SQL> INSERT INTO T_LONG VALUES (1, LPAD(1, 32767, ’HELLO WORLD!’)); 已创建 1 行。 SQL> COMMIT; 提交完成。 SQL> SELECT * FROM T_LONG WHERE LONG_COL LIKE ’%WORLD%’ 2 ; SELECT * FROM T_LONG WHERE LONG_COL LIKE ’%WORLD%’ *第 1 行出现错误: ORA-00932: 数据类型不一致: 应为 NUMBER, 但却获得 LONG 根据Orac...
sqlplus -s / as sysdba<<EOFset trimspool onset linesize 10000set pagesize 50000set heading onset term offset heading onset feedback off;set newp none;set echo offset markup html onspool onspool xj.xls--表空间使用率查询: select t.tablespace_name,t.total,f.free,(t.total - f.free) / t.total * 100 used_percentfrom (select a.tablespace_name,sum(a.bytes/1024/1024) total from dba_data_files a group by a...
在查询结果规整的情况下,根据第3行可以很清晰的看到结构,用Python解析起来也比较方便。但是,如果一张表字段特别多,记录数也相当多,那么默认情况下调用SqlPlus查询出的结果会比较乱,这就需要在调用查询之前做一些设定,比如: set linesize 32767 set pagesize 9999 set term off verify off feedback off tab off set numwidth 40 这样的调用查询结果就比较规整了。接下来就是用强大的Python来解析查询结果。 这里封装了一...
TABLE "ROOT"."user"; CREATE TABLE "ROOT"."user" ( "userid" NUMBER(2) NOT NULL ) 3、我用sql语句进行创建表和字段①不加双引号创建变大写②加双引号,跟我们使用navicat可视化操作一样 因此建议: 1.还是养成手写sql语句的习惯,在创建的时候就不要使用了双引号!这样我们就可以到达像mysql等一样不区分大小写了。 2.尽量养成大写操作数据库的习惯。oracle 用Navicat创建的表的查询问题标签:本文系统来源:http://www.c...
如果对 Oracle 数据表中的数据进行 增删改 操作时卡住无响应,很可能是表已被锁定。使用下面的命令可以解决锁定问题。 锁表状态查询。 直接复制粘贴就可以。 --锁表查询SQL SELECT object_name, machine, s.sid, s.serial# FROM gv$locked_object l, dba_objects o, gv$session s WHERE l.object_id = o.object_id AND l.session_id = s.sid; 解锁,需要填入上一步中查处的 SID 和 SERIAL --释放SESSION SQL: --alter sys...
COUNT(*)----------------- 01 row selected.SCOTT@ORA12C> select count(*) from t1 as of timestamp to_timestamp(‘2015-09-20 14:54:00‘,‘yyyy-mm-dd hh24:mi:ss‘); COUNT(*)----------------- 916921 row selected.SCOTT@ORA12C> flashback table t1 to timestamp to_timestamp(‘2015-09-20 14:54:00‘,‘yyyy-mm-dd hh24:mi:ss‘);flashback table t1 to timestamp to_timestamp(‘2015-09-20 14:54:00‘,‘yyyy-m...
…start with…connect by…prior例如:有一个单位(unit)表 有三个字段 ID ,NAME,PARENTID(单位ID,单位名称,上级的单位ID) 1.1 查询该单位下面的所有单位select t.id,t.name,t.parentid from unit t start with t.id=‘单位的ID‘ connect by prior t.id= t.parentid 1.2 查询该单位上面的所有单位select t.id,t.name,t.parentid from unit t start with t.id=‘单位的ID‘ connect by t.id= prior ...
?1.索引使用原则?不要对索引使用全模糊,但是 LIKE ‘asdf%‘是可以的,即不要Contains,可用StartWith 不要对索引进行函数,表达式操作,或者使用is null判断,否则将会使用全表扫描 不等于也会造成全表扫描,使用column < ‘a‘ or column > ‘a‘ 来替代 如果一个列有索引,另一个无索引,那么 c1 or c2 ,则将会造成全表扫描; 组合索引查询,如果包含前导索引,则会生效,否则,将会全表扫描;?2.顺序?where语句:尽量把大范围...
1.查询SCOTT表中有多少表,并显示表的一些描述select * from all_tables WHERE owner=‘SCOTT‘ ; 2.查询oracle数据库版本select * from v$version; select version from v$instance; select version FROM Product_component_version;oracle数据库查询常用语句标签:本文系统来源:http://www.cnblogs.com/fuyuanming/p/4848160.html
Oracle自下而上分析顺序WHERE收条,从优化性能的角度。它建议,这些条件将能够过滤掉大量行书写的WHERE在条款结束, 之间的连接条件置于其它WHERE子句之前,即对易排查的条件先做推断处理。这样在过滤掉尽可能多的记录后再进行等值连接,能够提高检索效率。 比如: SELECT empno, ename, job, sal, dept.deptno, dname FROM emp, dept WHERE emp.deptno = dept.deptno AND emp.deptno = 20; 要比下述语句的查询效率高一些: SELE...
1.oracle查询数据库中表的个数: select count(*) from user_tables 这个操作的前提是,登录成功 2.mysql查询数据库中表的个数: SELECT COUNT(*) TABLES, table_schema FROM information_schema.TABLES WHERE table_schema = ‘数据库‘ GROUP BY table_schema;把数据库这三个字修改成自己对应的数据库的名字3.sqlserver中查询某一个数据中表的个数:select count(1) from sysobjects where xtype=‘U‘mysql、oracle、sqlserve...
--1.随机数 select dbms_random.value from dual; select mod(dbms_random.random, 10) from dual; --0-9随机数 select abs(mod(dbms_random.random, 10)) from dual; --40-49随机数 select 40 + abs(mod(dbms_random.random, 10)) from dual; --2.Xml declarewords clob;xmlStr varchar2(32767);line varchar2(2000);line_no number := 1; beginwords := dbms_xmlquery.getXML(‘select * from scott.emp‘);xmlStr := dbms_lob...
一、数据库死锁的现象程序在执行的过程中,点击确定或保存按钮,程序没有响应,也没有出现报错。二、死锁的原理当对于数据库某个表的某一列做更新或删除等操作,执行完毕后该条语句不提交,另一条对于这一列数据做更新操作的语句在执行的时候就会处于等待状态,此时的现象是这条语句一直在执行,但一直没有执行成功,也没有报错。三、死锁的定位方法通过检查数据库表,能够检查出是哪一条语句被死锁,产生死锁的机器是哪一台。 1)...
2.计算年工资(不计算奖金) 3.计算奖金, nvl函数的使用方法nvl(comm, 0)如果被计算的值comm不存在则用第二个参数0替代,否则就用第一个参数去参加计算,第二个参数不一定非得是0可以是一个可以被运算的数字4.查询在1982年之后入职的员工姓名和入职时间5.查询工资在2000-2500之间的员工姓名6.like的用法,名字以S开头的员工信息7.查询第三个字母是O的所有员工8.查询所有员工信息,以部门编号升序和工资降序排序9.查询员工的年薪,...
笛卡尔积在SQL中的实现方式既是交叉连接(Cross Join)。全部连接方式都会先生成暂时笛卡尔积表。笛卡尔积是关系代数里的一个概念,表示两个表中的每一行数据随意组合。-- 笛卡尔积 select * from emp, dept;-- 使用公共字段,去掉笛卡尔积 select * from emp, dept where emp.deptno = dept.deptno;-- 查询出每一个雇员的姓名,工作,雇员的直接上级领导的姓名 -- 在emp表中的MGR表示一个雇员的上级领导的编号。假设如今要想查询一...