
oracle
喜剧新人
每一次改错,都是一次进步。
展开
-
prompt set feedback set define的详解
prompt 输出后面的信息,类似操作系统的echo命令 SQL>prompt hello world --输出 hello worldset feedback 客户端执行SQL时,数据库服务器都会返回反馈信息。如: 创建表时,成功的反馈信息为“Table Created”等 feedback属性的三种:set feedback on --打开反馈信息set f转载 2017-08-25 10:27:01 · 1931 阅读 · 0 评论 -
oracle授权操作
1、给数据库用户授权(对象为用户表)GRANT privilege[, ...] ON object[, ...] TO { PUBLIC | GROUP group| username} 详解: privilege: select:查询 insert:插入 update:更新 delete:删除 all:...原创 2018-06-11 14:35:24 · 19022 阅读 · 0 评论 -
oracle死锁的解决方法
1、 关于死锁 死锁是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程2、 怎么解决死锁 查看引起死锁的语句:select sql_text from v$sql where hash_value in (select sq...原创 2018-06-11 16:02:54 · 286 阅读 · 0 评论 -
oracle中varchar2的储存长度
varchar2最大是4000字节,那么就看你的oracle字符集:(select userenv(‘language’) from dual;) 如果字符集是16位编码的,ZHS16GBK,那么每个字符16位,2字节,所以可以容纳2000字符。 如果是32位编码的字符集,那么只能存储 1000个字符。例如:varchar(50) 表示该字段类型为varchar2类型,长度为50,...原创 2018-05-29 10:01:05 · 9864 阅读 · 2 评论 -
oracle中的Number的长度定义
Number可以通过如下格式来指定:Field_NAME Number(precision ,scale),其中precision指Number可以存储的最大数字长度(不包括左右两边的0),scale指在小数点右边的最大数字长度(包括左侧0)。也就是说,p是总长度,s是小数,整数部分长度是p-s例如:Number(8,2)表示有效数字长度是8,能存储的最大数值是999999.99...原创 2018-05-29 10:10:57 · 10365 阅读 · 0 评论 -
如何写dblink?
dblink是什么? 是数据库的链接,就像电话线一样,是一个通道,当我们要跨本地数据库, 访问另外一个数据库表中的数据时,本地数据库中就必须要创建远程数据库的dblink, 通过dblink本地数据库可以像访问本地数据库一样访问远程数据库表中的数据。1、创建dblinkcreate database link 要建立的dblink名称 connect to 远程数...原创 2018-06-07 17:20:19 · 973 阅读 · 0 评论 -
oracle存储过程的写法
create or replace procedure 要创建的存储过程名称(入参a in varchar2, 出参b out varchar2) is 变量c varchar2(2000); 变量d number(10); 异常变量e exception; begin ...原创 2018-06-15 15:24:47 · 11049 阅读 · 1 评论 -
ORA-00911: invalid character
sql语句中最后多了分号的原因,去掉分号就可以。原创 2017-09-26 11:10:07 · 3470 阅读 · 1 评论 -
oracle创建用户及授权等相关操作
1、创建用户create user test indentified by test;这样就创建了一个用户名密码都为test的用户 但这个时候test还是不能登陆成功的,我们需要赋予相应的权限 2、赋予create session 的权限grant create session to test;这样test用户就能成功登录进去赋予用户创建表的权限grant crea...原创 2018-03-15 15:31:10 · 13563 阅读 · 2 评论 -
decode()、nvl()等用法详解
1、decode( 条件, if1, then1, if2, then2, 缺省值 ): 当条件 = 1时,则为1;else条件= 2时;则为2;都不等时,为缺省值。2、nvl(a , b)函数:如果a为NULL,则函数返回b ; 否则返回a本身。3、to_date(‘2017-04-13’ , ‘YYYY-MM-DD’),把日期转化为YYYY-MM-DD的格式。 4、to_char函数是将数原创 2017-04-13 22:08:28 · 951 阅读 · 0 评论 -
case when then else end
sql case when then else end 查询生成统计列表case具有两种格式。简单case函数和case搜索函数。–简单case函数 case sex when '1' then '男' when '2' then '女' else '其他' end --case搜索函数 ...转载 2018-04-16 16:27:17 · 128 阅读 · 0 评论 -
表连接的详解
内连接:两表相交叉的部分 表A : ID NAME 1 , kobe 2 , pual 3 , tim 表B : ID NAME 1 , kobe 2 , pual 5 , michalselect a.ID,a.NAME,b.ID,b.NAME from A a inner join B b on a.ID=b.ID;结果为: 1 , kobe 2原创 2017-08-07 16:01:13 · 341 阅读 · 0 评论 -
Hibernate 语句总结
关系映射数据库Hibernate使用详解:在hql语句中,from后面接的不是表名,是实体名,from User 注:User是实体名,不是数据库中的表名。查询并返回表中的数量:String sql = "select count(*) as 书的总数 from Book";//返回的是list集合类型List list = this.getHibernateTemplate().原创 2017-04-07 17:02:52 · 512 阅读 · 0 评论 -
怎么查询表中BLOB字段的大小
返回的是字节(B)select DBMS_LOB.GETLENGTH(name) from table;原创 2019-03-18 14:32:33 · 3290 阅读 · 0 评论 -
oracle varchar2改成大字段类型clob,读取大字段内容
oracle varchar2(4000)改成大字段类型clob,如果需要改成大字段的varchar2列有内容,不能直接用alter table med_generic modify option07 blob;直接用上面的会提示:ORA-22858: 数据类型的变更无效因此,修改应采用下面的方法:–增加大字段项alter table med_generic add hehe clo...转载 2019-05-06 11:35:01 · 442 阅读 · 0 评论 -
oracle如何创建视图
视图的优点: 1.对数据库的访问,因为视图可以有选择性的选取数据库里的一部分。 2.用户通过简单的查询可以从复杂查询中得到结果。 3.维护数据的独立性,试图可从多个表检索数据。 4.对于相同的数据可产生不同的视图。 视图分为简单视图和复杂视图: 1、简单视图只从单表里获取数据,复杂视图从多表; 2、简单视图不包含函...原创 2018-06-11 11:17:30 · 25175 阅读 · 0 评论 -
Java中当前的时间的各种写法
1、系统时间(电脑上显示的时间)//导入的包:import java.text.SimpleDateFormat;import java.util.Date;SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式String dqsj = df.format(new Date());//...原创 2018-04-27 14:52:54 · 1298 阅读 · 0 评论 -
怎么在oracle中使用for循环
测试打印语句: BEGIN sys.dbms_output.put_line(‘hello world’); END;DECLARE a number(20) :=0;BEGIN for i in 1 .. 10 loop --insert into user (name) values('ss' + i); --写相关原创 2017-08-25 11:38:56 · 2369 阅读 · 0 评论 -
在oracle中的日期类型与String类型
to_date()作用是将字符类转化为日期类型。 具体用法:to_date(”2004-11-27”,”yyyy-mm-dd”),前者为字符串,后者为转换日期格式。 to_date(”2004-11-27 13:34:43”, ”yyyy-mm-dd hh24:mi:ss”) 将得到具体的时间to_char()作用将日期转按一定格式换成字符类型。 select to_char(sysdate,原创 2017-09-12 13:37:01 · 9609 阅读 · 0 评论 -
user_tab_columns是什么
user_tab_columns是保存了当前用户的表、视图和Clusters中的列等信息,用于oracle获取表结构。 user_tab_cols不同的是比user_tab_columns多几列:HIDDEN_COLUMN VARCHAR2(3) VIRTUAL_COLUMN VARCHAR2(3) SEGMENT_COLUMN_ID NUMBER INTERNAL_COLUMN_ID NO原创 2017-10-09 10:12:14 · 16439 阅读 · 0 评论 -
Oracle 怎么删除重复数据
1、根据rowid来查询重复数据select * from table1 a where rowid !=(select max(rowid) from table1 b where a.name1=b.name1 )2、根据rowid来删除重复数据delete from table1 a where rowid !=(select max(rowid) from table1 b where原创 2017-10-10 13:51:02 · 2666 阅读 · 0 评论 -
在java中对null的理解
转载:https://www.cnblogs.com/X-World/p/5686122.htmlJava中的Null是什么?1)首先,null是关键字,像public、static、final。它是大小写敏感的,你不能将null写成Null或NULL,编译器将不能识别它们然后报错。2)就像每种基本类型都有默认值一样,如int默认值为0,boolean的默认值为false,null是任转载 2018-01-11 15:25:49 · 465 阅读 · 0 评论 -
Oracle中“不等于”的使用
在oracle中判断字段id不是“123”时,select * from user where id'123'; 但是id为空的,却怎么也查询不出来。这是why?原因是:字段为null的时候,只能通过is null或者is not null来判断。这样写才是正确的:select * from user where id '123' or id is null;注意:当使原创 2018-01-04 11:27:16 · 52511 阅读 · 0 评论 -
日期格式转换:String 与 date
在java中转换//String—>DateString time = “2018-01-09”;try{ SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd"); Date date = sdf.parse(time);}catch(ParseException e){ System.out.print转载 2018-01-09 11:15:02 · 14073 阅读 · 0 评论 -
row_number() over(partition by order by )使用说明书
作用:数据库去除重复记录,进行排序。 语法:ROW_NUMBER() OVER (PARTITION BY COL1 ORDER BY COL2) 功能:表示根据COL1分组,在分组内部根据 COL2排序,而这个值就表示每组内部排序后的顺序编号(组内连续的唯一的) row_number() 返回的主要是“行”的信息,并没有排名--在test表中根据name分组,age...原创 2018-04-02 09:29:15 · 13742 阅读 · 0 评论 -
PLSQL快捷键使用,让你高速开发
不需要选中整行,执行光标所在行,按F8就可直接执行; 工具—>首选项—>SQL窗口—>自动选择,勾选自动选择即可。 这样光标放在此行,按F8就可以执行,需要注意的是sql语句必须以分号结束。下期更新...原创 2018-04-02 11:00:22 · 358 阅读 · 0 评论 -
sql 修改字段 删除字段操作
1、修改字段--修改字段名alter table [表名] rename column oldCname to newCName;--修改数据类型alter table [表名] modify (columnName 数据类型);2、删除字段alter table [表名] drop column [字段名] ...原创 2018-05-02 09:29:51 · 7087 阅读 · 0 评论 -
oracle创建、删除索引等操作
1、创建索引create index 索引名 on 表名(列名);2、删除索引drop index 索引名;3、创建组合索引create index 索引名 on 表名(列名1,,列名2);4、查询索引--根据索引名,查询表索引字段select * from user_ind_columns where index_name='索引名';--根据表名...原创 2018-05-02 09:52:06 · 115066 阅读 · 1 评论 -
sql优化——模糊查询
like 和 instr的查询效率 select name from user where instr(id, '99')> 0; 等价于 select name from user where id like '%99%';LIKE查询一次,就走一次全表扫描,效率非常慢同样的效果,现在来换做INSTR函数来执行,时间上的差异很明显,INSTR在一...原创 2018-04-26 10:44:47 · 1562 阅读 · 0 评论 -
Oracle创建序列,删除序列
1、创建-- Create sequence create sequence SEQ_USERIDminvalue 1maxvalue 999999999999start with 1increment by 1nocachecycle;2、查询select SEQ_USERID.nextval from dual;3、删除drop sequence ...原创 2018-04-26 11:04:29 · 1782 阅读 · 1 评论 -
Oracle创建、删除、备份表
1、创建create table USER( ID NUMBER(20) not null, constraint PK_USER primary key (ID) //主键);//添加注释comment on table USER is '人员信息表';comment on column USER.ID is '人员ID';2、备份表create ta...原创 2018-04-26 11:20:25 · 12037 阅读 · 0 评论 -
ORA-01745: 无效的主机/绑定变量名
问题描述:oracle中执行插入语句时报错解决方案:缺失逗号原创 2019-05-06 15:55:58 · 709 阅读 · 0 评论