数据库
数据库使用
khblog2022
The older we grow the greater becomes our wonder at how much ignorance one can contain without bursting one's clothes. --Mark Twain
展开
-
oracle sql数据计算精度问题
问题:执行sql查询结果a,b , 使用a,b 进行间接计算时,会出现预期为0.01的值 ,但实际查询结果为 0.00999999997 或0.00999999998但以a, b 数值直接计算时可以得到正常的结果。解决办法:使用round函数,强制对间接结果进行精度保证。...原创 2021-11-17 17:25:45 · 1458 阅读 · 0 评论 -
plsql 时间处理
时间类型plsql提供了两种和时间相关的数据类型:datetime 和 intertime时间相关的函数、操作获取当前时间select sysdate from dual; --output 2017/2/9 12:20:53 (数据库的lang为ZHS)select trunc(sysdate) from dual; --2017/2/9与字符串之间的格式转换select tochar(原创 2017-02-09 13:01:30 · 3818 阅读 · 0 评论 -
oracle数据库常用操作
原文地址:http://www.cnblogs.com/muzifei/archive/2011/11/04/2235864.html -- 查看ORACLE 数据库中本用户下的所有表SELECT table_name FROM user_tables;-- 查看ORACLE 数据库中所有用户下的所有表select user,table_name from转载 2013-09-05 14:31:59 · 756 阅读 · 0 评论 -
oracle 常用优化-sql
1.全表扫描和索引扫描大数据量表尽量要避免全表扫描,全部扫描会按顺序每条记录扫描,对于>100万数据表影响很大。Oracle中通过RowID访问数据是最快的方式对字段进行函数转换,或者前模糊查询都会导致无法应用索引而进行全表扫描对Oracle共享池和缓冲区中的Sql必须要大小写都完全用上才能够匹配上2.顺序问题转载 2014-06-05 10:43:10 · 601 阅读 · 0 评论 -
ORACLE触发器和new、old特殊变量
:new --为一个引用最新的列值;:old --为一个引用以前的列值; 这两个变量只有在使用了关键字 "FOR EACH ROW"时才存在.且update语句两个都有,而insert只有:new ,delect 只有:old;系统中的触发器实例:create or replace trigger JBPM.TIB_DEPLOYBYMOVEPAPER before //before转载 2013-04-08 11:13:46 · 526 阅读 · 0 评论 -
dual---数据库
1. dual 确实是一张表.是一张只有一个字段,一行记录的表. 2.习惯上,我们称之为'伪表'.因为他不存储主题数据.3. 他的存在,是为了操作上的方便.因为select 都是要有特定对象的.如:select * from mytable ;select * from myview;等等.但如果我们不需要从具体的表来取得表中数据,而是单纯地为了得到一些我们想得到的信息,并要通过sel转载 2013-04-08 11:06:31 · 949 阅读 · 0 评论 -
游标的使用
首先需要注意一点的是:sql 与plsql ,这两个是不同的语言,一个属于sql,一个是plsql。两者之间虽然能在同一个开发环境中调用,但是正如C、C++能在VS中开发一样,这两个还是有这个区别的。游标是构建在PL/SQL中,用来查询数据,获取记录集的指针。它让开发者 一次访问结果集中一行记录。在oracle中提供了两种游标: 1 静态游标 2 ref游标 静态游标:静态游标是在编原创 2013-03-22 14:51:21 · 1119 阅读 · 0 评论 -
rownum和rowid的区别
rownum 对于表来说,是一个伪列,是select查询结果集(一片内存)的行计数,常用在top-n分析。是先有结果集再有的列。rowid 是表中行数据的具体物理地址,地址标识。通过rowid,数据库可以很快的找到数据。当表中有大量重复的数据时候,可以通过rowid将数据删除。原创 2013-03-21 16:22:27 · 621 阅读 · 0 评论 -
REF CURSOR讲解
使用Strong REF CURSOR例子CREATE OR REPLACE PACKAGE emp_data ASTYPE empcurtyp IS REF CURSOR RETURN emp%rowtype; --定义TYPE as Strong REF CURSOR PROCEDURE open_emp_cv(emp_cv IN OUT empcurtyp, choice INT转载 2013-03-20 16:55:06 · 760 阅读 · 0 评论 -
sql初学习中常见的失误
一、一些常见的小失误1 标点符号 select 字段时忘记写逗号正确sql: select a,b from table错误sql:select a b from table要命的是这个sql并不报语法错误,本想取两个字段,结果是取了一个字段a,别名为b,有时候你查了半天为什么数据不对,结果是漏掉一个分号所致。中英文符号差异——不能正确编译这个错误很容易出现,包括转载 2013-03-18 19:57:43 · 766 阅读 · 0 评论 -
plsql自带包的学习
DBMS_OUTPUT包的学习 http://baike.baidu.com/view/6375281.htm 1、enable:在serveroutput on的情况下,用来使dbms_output生效(默认即打开) 2、disable:在serveroutput on的情况下,用来使dbms_output失效 3、put:将内容写到内存,等到put_li原创 2013-03-20 12:56:51 · 854 阅读 · 0 评论 -
oracle学习的初步总结以及date 类型的运用
今天下午对插入进行了进一步的学习,借此机会也把上周学过的oracle 的基本语法做一个总结。sql命令大体上分为两部分:一部分是查询,一部分是定义。如何高效的查询?排除原子命令不能改变之外(有oracle命令解析引擎执行)。学习的重点应该是学会高效的组织命令。查询大体上可分为:查询的对象可以是表,视图,查询表(即子查询块,通过重命名来作为新表)简单查询:投影运算——也就转载 2013-03-18 17:08:37 · 646 阅读 · 0 评论 -
oracle控制用户权限
1.查看所有用户: select * from dba_users; select * from all_users; select * from user_users;2.查看用户或角色系统权限(直接赋值给用户或角色的系统权限): select * from dba_sys_privs; select * from user_sys_privs; 3转载 2013-03-15 15:01:31 · 629 阅读 · 0 评论