ORACLE DEVELOPER
文章平均质量分 58
ORACLE DEVELOPER
雅冰石
DBA
展开
-
oracle 12c怎样修改varchar2允许的最大长度
12C单实例测试,varchar2在早期版本中最大长度限制为4000,当字段长度指定的比较长的时候会报错:ORA-00910: specified length too long for its datatype。早期版本中虽然SQL数据类型限制为4000(如表中的列的varchar2类型),但在PL/SQL中的限制是32767(如在存储过程中的定义变量时用的varchar2类型)。EXTENDED。原创 2023-08-25 11:12:20 · 2892 阅读 · 0 评论 -
oracle怎样转义单引号
用单引号转义单引号。转载 2022-07-15 09:10:52 · 2986 阅读 · 0 评论 -
oracle用一条sql查出哪些数据不在某个表里
思路:将这些数据字符串转换为多行记录,然后再进行对比。原创 2022-06-24 12:53:47 · 2488 阅读 · 0 评论 -
修改字段数据类型的方法
在日常维护的过程中可能碰到这样的问题,需要修改表的字段类型。对于绝大部分正常的情况,都是将表的字段类型的长度扩大,但是有的时候是需要缩小表的字段长度的,甚至有的时候是要修改表的数据类型的。SQL> CREATE TABLE T AS SELECT ROWNUM ID, A.* FROM DBA_OBJECTS A;表已创建。SQL> DROP TABLE T PURGE转载 2013-06-04 12:07:51 · 2023 阅读 · 0 评论 -
多表插入
在Oracle 9i之前,执行INSERT语句插入数据时,只能为单个表插入数据。从Oracle 9i开始,使用INSERT语句可以将某张表的数据同时插入到多张表中。语法如下: INSERT ALL insert_into_clause [value_clause] subquery; INSERT conditional_insert_clause s转载 2013-05-27 22:55:41 · 1408 阅读 · 0 评论 -
ORA-01722: 无效数字
问题:select * from pc_production_monthly where entity_id=2出错原因:entity_id本是char(10)类型的,应该加单引号。即:正确的语句应该这样写:select * from pc_production_monthly where entity_id='2';但很奇怪的是,entity_type为char(1)类型,s原创 2013-04-27 14:57:26 · 986 阅读 · 0 评论 -
怎样在Oracle中插入图片并显示
Oracle中插入图片并显示(用BLOB类型)要在oracle里面存入图片 用 blob类型首先在数据库里建立:--连接到管理员conn sys/tbsoft as sysdba;--为scott用户授权grant create any directory to scot--回到scott用户conn scott/tiger;--创建存储图片的表CREATE转载 2013-04-18 17:31:04 · 2690 阅读 · 0 评论 -
oracle中merge用法
摘至网上的几个例子一、*****************************************************************Merger into是oracle从9i开始增加的一个语句,从merge的字面上的意思:合并,兼并不难理解merge在oracle中的含义,merge在oracle所起的作用是:如果你从以组值中有选择的更新和插入到到一张表,具转载 2013-04-17 13:55:55 · 3316 阅读 · 0 评论 -
ORA-01779:无法修改与非键值保存表对应的列
今天遇到一个错误:ORA-01779:无法修改与非键值保存表对应的列。后来发现,当要对一个基于多表连接的视图进行插入,更新等操作时,容易出现这个错误。解决办法:个人认为,这个视图不能操作,可以对它基于的表进行操作,这样,该视图里也就有相应数据了。于是,做了下面这个实验。SQL> create table emp2 as select * from emp; 表已创建。S原创 2013-04-12 11:17:51 · 8665 阅读 · 0 评论 -
UPDATE子查询的ORA-1779错误
在对子查询执行UPDATE时,可能会遇到ORA-1779错误,这里简单讨论一下。 首先构造两个表:SQL> CREATE TABLE T1 (ID NUMBER PRIMARY KEY, NAME VARCHAR2(30), DOC VARCHAR2(30));表已创建。SQL> CREATE TABLE T2 (ID NUMBER PRIMARY KEY, FID NU转载 2013-04-12 10:29:52 · 1481 阅读 · 0 评论 -
oracle替换当前行内容或在末尾添加内容时怎样加上分号
比方,今天写一个简单的PL/SQL 语句,在缓存区中查看刚写的语句,如下:SQL> l 1 DECLARE 2 i number(4):=1 3 BEGIN 4 LOOP 5 INSERT INTO emp2(empno) VALUES(i); 6 EXIT WHEN 1>2; 7原创 2013-07-03 16:14:20 · 1682 阅读 · 0 评论 -
ROLLUP函数
本文通过演示给出Oracle ROLLUP分组函数的用法,体验一下Oracle在统计查询领域中的函数魅力。ROLLUP分组函数可以理解为Group By分组函数封装后的精简用法,这里同时给出ROLLUP的Group By的改写思路。1.初始化实验坏境1)创建测试表group_testSECOOLER@ora11g> create table group_test (group_id i转载 2013-10-14 21:18:07 · 1806 阅读 · 0 评论 -
RETURNING INTO的简单用法
CREATE TABLE t1 (id NUMBER(10),description VARCHAR2(50),CONSTRAINT t1_pk PRIMARY KEY (id));CREATE SEQUENCE t1_seq;INSERT INTO t1 VALUES (t1_seq.nextval, 'ONE');INSERT INTO t1 VALUES (t1_seq.next转载 2013-02-01 14:26:29 · 6239 阅读 · 2 评论 -
PL/SQL DEVELOPER怎样导入excel数据
1:准备好需要导入的数据注意,需要在最左边空出一列,且每列顺序需要和目标表字段保持一致:如: idnameShenfenIdaddresshobby 1dandan4109888888333北京看视频原创 2015-01-30 11:38:56 · 5553 阅读 · 0 评论 -
PL/SQL DEVELOPER怎样导出数据到EXCEL
2.1查询表中的数据 2.2 右击查询结果,点‘copy to exel’ 会自动生成一个excel文件(一般以tmp开头): 如果想修改文件路径, 名称,文件-另存为,放到其他位置即可。原创 2015-01-30 12:00:41 · 9715 阅读 · 1 评论 -
Oracle多表插入
一、使用ALL操作符执行多表插入 当使用ALL操作符执行多表插入时,就会执行无条件的多表插入。也就意味着每一个WHEN子句按照查询所返回的每一行来确定值,而不管前一个条件的输出结果是什么。因此,你需要注意如何来确定每个条件。 示例如下: SQL>insert all 2 when deptn转载 2015-02-27 09:45:12 · 998 阅读 · 0 评论 -
start with connect by prior的简单小示例
语法:select * from 表名where 条件1start with 条件2connect by prior 当前表字段=级联表字段start with与connect by prior语句完成递归记录,形成一颗树形结构,通常可以在具有层次结构的表中使用。start with表示开始的记录例子:①:从叶子节点开始递归查询的记录SQL> select em原创 2013-03-18 09:42:04 · 1253 阅读 · 0 评论 -
group by分组函数之rollup与cube用法
ROLLUP,是GROUP BY子句的一种扩展,可以为每个分组返回小计记录以及为所有分组返回总计记录。CUBE,也是GROUP BY子句的一种扩展,可以返回每一个列组合的小计记录,同时在末尾加上总计记录。示例:一、初始化表及数据代码如下:点击(此处)折叠或打开SQL> create table group_test (group_id int转载 2015-03-09 15:07:05 · 956 阅读 · 0 评论 -
ORACLE 分析函数(转)
oracle分析函数 Oracle开发专题之:分析函数(OVER)Oracle开发专题之:分析函数2(Rank, Dense_rank, row_number)Oracle开发专题之:分析函数3(Top/Bottom N、First/Last、NTile)Oracle开发专题之:窗口函数Oracle开发专题之:报表函数Oracle开发专题之:分析函数转载 2015-03-10 11:26:32 · 1123 阅读 · 0 评论 -
oracle之统计函数lead,lag
一,Lead 语法及例子Lead函数是十分的好用的一个函数.它的语法如下图: 简单地说,lead是个奇特函数,在允许不使用自连接的情况下,一次返回多行。参数说明: value_expr 值表达式,通常是字段,也可是是表达式。value_expr本身不支持分析函数,也就是lead不支持多层调用。 offset 偏移,应该是很熟悉的数学概念了,转载 2013-03-26 13:30:52 · 1465 阅读 · 0 评论 -
oracle中replace函数
replace(c1,c2[,c3])在字符串c1中找到字符串c2,替换成c3.若c3为空,则在c1中删除所有c2.例:update articledoi set local_url=replace((select local_url from articledoi where id=311) , ' :8888/pub ' , ':80 ' )where转载 2013-03-25 14:08:22 · 965 阅读 · 0 评论 -
ORA-00913: 值过多
今天晚上旁边的同事在调试代码时出现了下面的bug: ORA-00913: too many values 。。。。(后面的具体的就不写了)第一次碰到这样的情况,上网一查才知道:原来同事的sql语句写错了:具体就不说了,主要是一个INSERT语句:结果VALUES后面的插入的数据比前面的字段名多了一个,所以才出现了所谓的“too many values”错误。----------转载 2013-03-20 11:05:29 · 5192 阅读 · 0 评论 -
union与Union all的简单用法
SQL UNION 操作符UNION 操作符用于合并两个或多个 SELECT 语句的结果集。请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同。SQL UNION 语法SELECT column_name(s) FROM table_name1UNIONSELECT column转载 2013-02-27 14:14:46 · 845 阅读 · 0 评论 -
oracle中的number类型
Oracle number类型的语法和用法 number类型的语法很简单,就是: number(p,s) p,s都是可选的,假如都不填,p默认为38,s默认为-48~127。 1. 精度(precision),或总位数。默认情况下,精度为38位,取值范围是1~38之间。也可以用字符*表示38。 2. 小数位置(sca转载 2013-02-25 11:16:12 · 2484 阅读 · 0 评论 -
ORACLE定义PL/SQL变量
前言:使用变量可以保存计算机需要处理的数据,为了给该变量分配适当的内存空间,还需要指定数据类型,有的数据类型还需要指定长度,如字符串。有些类型可以用于建表(如char),有些则不能(如boolean,rowtype)。同样是字符串,建表时的限制为4000,在脚本中则为3万多。简单语法:变量名数据类型;完整语法:变量名 [constant] 变量类型 [not null] [de转载 2013-02-20 17:06:44 · 1380 阅读 · 0 评论 -
oracle行列转换总结
行列转换包括以下六种情况: 1. 列转行 2. 行转列 3. 多列转换成字符串 4. 多行转换成字符串 5. 字符串转换成多列 6. 字符串转换成多行 首先声明,有些例子需要如下10g及以后才有的知识: A. 掌握model子句, B. 正则表达式 C. 加强的层次查询1、列转行CREATE TABLE t_col_row(转载 2013-02-20 10:22:23 · 585 阅读 · 0 评论 -
SUBSTR,INSTR
oracle 截取字符(substr),检索字符位置(instr) case when then else end语句使用 收藏 常用函数:substr和instr1.SUBSTR(string,start_position,[length]) 求子字符串,返回字符串解释:string 元字符串 start_position 开始位置(从0或1开始)转载 2013-02-05 12:15:55 · 1002 阅读 · 0 评论 -
oracle中的split 字符串分割函数
Oracle中的Split函数首先需要定义 2 个类型1. Row 类型CREATE OR REPLACE TYPE ty_row_str_split as object (strValue VARCHAR2 (4000))2. Table 类型CREATE OR REPLACE TYPE ty_tbl_str_split IS TABLE OF ty_row_str_split创建函数转载 2013-02-19 13:39:46 · 3614 阅读 · 1 评论 -
oracle中table函数的使用
个人理解,table函数是把数组类型的变量展开显示出来三种用法: 1 table()与返回值为数组的类型的普通函数一起使用 2 table()与返回值为数组类型的管道函数一起使用3, table()与系统包中的管道函数一起使用 实际也就是2 以下代码为例子: [c-sharp] view plaincopyprint?--创建类型t_tes转载 2013-02-18 15:24:37 · 1614 阅读 · 0 评论 -
截取以逗号分隔的字符串
--建用户类CREATE TYPE my_tbl_type AS OBJECT(engineid VARCHAR2(20));CREATE OR REPLACE TYPE myTableType as TABLE OF my_tbl_type;--将字付串转化为表CREATE OR REPLACE FUNCTION str2tbl(p_str IN VARCHAR2) RE转载 2013-02-05 14:32:59 · 3641 阅读 · 0 评论 -
ORA-00937:不是单组分组函数 ORA-22818:这里不允许出现子查询表达式
今天,写了以下SQL语句:select (select well_name from well where well_id = wa.well_id) well_name,sum(prod_time)/24prod_daysFROM pro_well_vol_daily daily, well_attribute wa WHERE daily.well_id =原创 2013-03-06 13:56:06 · 8962 阅读 · 0 评论 -
ORA-01810:格式代码出现两次
SELECT to_date('2013-2-10 13:23:22','YYYY-MM-DD HH:MM:SS') FROM DUAL;报错:ORA-01810:格式代码出现两次出错原因:MM出现了两次。解决办法:应改为:SELECT to_date('2013-2-10 13:23:22','YYYY-MM-DD HH:MI:SS') FROM DUAL;会原创 2013-02-28 16:48:21 · 749 阅读 · 0 评论 -
在Oracle中存储与管理大对象数据类型
中国软件网:在数据库设计时,如果某个表需要用到大容量数据类型,那么最好能够将这些大对象数据类型的列与其它列分成独立的表。如现在有一个产品信息表,在这个表中有一个大对象数据类型的数据,用来存储一段关于产品说明的视频资料。一、Oracle数据库支持的大对象数据类型。在Oracle数据库中为了更好的管理大容量的数据,专门开发了一些对应的大对象数据类型。具体的来说,有如下几种:一是BL转载 2013-04-02 09:30:15 · 1788 阅读 · 0 评论 -
oracle丢失更新示例及解决方案
丢失更新是数据中一个比较常见的经典问题,在做项目时我们有时可能会没有注意到这个问题,但这个问题相当重要,有时会带来比较严重的结果。下面我们就来讨论下这个丢失更新。 一、什么是丢失更新: 用一个操作过程来说明: (1)会话Session1 中的一个事务获取(查询)一行数据,并显示给一个用户User1. (2)会话Session2 中的另一个事务也获取这一行,但是将数据显示给另转载 2013-03-19 11:19:05 · 1579 阅读 · 0 评论 -
oracle中sign函数简单示例
取数字n的符号,大于0返回1,小于0返回-1,等于0返回0 SQL> select sign( 100 ),sign(- 100 ),sign( 0 ) from dual; SIGN(123 ) SIGN(- 100 ) SIGN( 0 ) --------- ---------- --------- 1 - 1转载 2013-03-18 17:14:51 · 1240 阅读 · 0 评论 -
ORACLE中job的使用详解
我们在项目开发中,常常会有一些复杂的业务逻辑。使用oracle的存储过程,可以大大减少java程序代码的编写工作量,而且存储过程执行在数据库上,这样可以利用oracle的良好性能支持,极大地提高程序执行效率和稳定性。定时执行存储过程,就要用到job。以下是常用的参数说明:字段(列) 类型 描述 JOB NU转载 2013-03-15 15:56:46 · 907 阅读 · 0 评论 -
ROW_NUMBER() OVER函数的简单用法
ROW_NUMBER() OVER函数的基本用法ROW_NUMBER() OVER函数的基本用法用法 转自:http://www.cnblogs.com/icebutterfly/archive/2009/08/05/1539657.html语法:ROW_NUMBER() OVER(PARTITION BY COLUMN ORDER BY COLUMN)简单的说row_nu转载 2013-03-15 15:22:36 · 840 阅读 · 0 评论 -
ORA-01846:周中的日无效
SELECT NEXT_DAY(SYSDATE,'MON') FROM DUAL;提示错误:ORA-01846:周中的日无效 在Oracle是提供了next_day求指定日期的下一个日期. 语法 : next_day( date, weekday ) date is used to find the next weekday. weekday is a day of the原创 2013-03-15 15:28:23 · 6061 阅读 · 0 评论 -
汇总每月上中下旬的信息
模拟:先建一个表:CREATE TABLE temp(id number,hiredate date,sal number);往里面插一些数据(包括2月份最后一天的数据,3,4,5月份每天的数据,6月份前4天的数据)。插入后的结果如下所示: SQL> select * from temp; ID HIREDATE SAL---原创 2013-03-01 09:42:22 · 1439 阅读 · 0 评论 -
PLSQL Developer怎么查看一个表的建表语句
右击表名,view或者edit,在出现的界面的右下角再选择view sql即可,如下图:原创 2013-03-13 09:38:16 · 10425 阅读 · 0 评论
分享