现在越来越多人用plsql 查询和执行sql,因为该工具很方便,不仅可以执行sql、以及命令窗口,但是呢,有时候我们执行完sql,可能忘记保存或者当时觉得可能不怎么重要,就没有保存, 等到了第二天或者过段时间...,想看看之前执行的sql,这时候怎么办呢?...首先打开sql窗口,如图所示 ? 然后,按住 CTRL+E,就会显示之前执行过的sql语句啦 ?...但是显示的好像只有最近200条的,,所以大家在执行sql 的时候,最好还是每天可以备份一下自己执行过的sql语句,毕竟好记性不如烂笔头
窗口函数的名字是over()函数,常用的有两个属性partition by和order by,partition by类似于group by,我们通常将group by叫做分组,而partition by...,后面有星号 (*) 的函数允许完整的语法,包括windowing_clause。...ROW_NUMBER STDDEV * STDDEV_POP * STDDEV_SAMP * SUM * VAR_POP * VAR_SAMP * VARIANCE * Windowing clause 指定分析函数的对象物理或逻辑行集...SQL> set autot on SQL> select t....client 28 sorts (memory) 0 sorts (disk) 12 rows processed 简单比较一下,似乎使用窗口函数时的
李伟 专注于oracle pl/sql开发和Java开发,擅长复杂业务逻辑、算法的pl/sql实现。 背景 在软件开发过程中程序员经常会遇到字符串的拼接和拆分工作。...把问题交给pl/sql程序员怎么样呢? pl/sql程序员好像也没有更好的方法,单句sql不好实现,为每个这个的功能分别写存储过程代价也很大。...解决方案 本文要做的就是单句SQL实现该功能。 先分析一下,该业务有两个关键点。 一是字符串拼接,oracle(11.2)提供了listagg函数已经实现了该功能,我们直接使用就可以。...二是字符串拆分,oracle没有实现该功能,但是java提供了split函数实现了字符串拆分功能。 我们可以参考java的split函数写一个oracle版split函数。...与listagg函数联合查询: ? 注意:listagg是oracle 11.2版本的新功能。 至此,便简单实现了oracle的字符拆分与拼接。
PL/SQL是对SQL语言存储过程语言的扩展,是一种高级数据库程序设计语言,该语言专门用于在各种环境下对Oracle数据库进行访问。...除此之外,可以在Oracle数据库的某些客户端工具中,使用PL/SQL语言也是该语言的一个特点。PL/SQL可以向Java一样实现逻辑判断。条件循环和异常处理等。...--PL/SQL块的结构如下: DECLARE --声明部分: 在此声明PL/SQL用到的变量,类型及游标,以及局部的存储过程和函数 BEGIN -- 执行部分: 过程及SQL...分离的、基本数据类型的变量组成一个整体存储起来,它必须包括至少一个标量型或RECORD 数据类型的成员,称作PL/SQL RECORD 的域(FIELD),其作用是存放互不相同但逻辑相关的信息。...每个成员都有一个唯一的下标,它取决于成员在数组中的位置。在PL/SQL中,数组数据类型是VARRAY。
大家好,又见面了,我是你们的朋友全栈君。...Oracle11.2新增了LISTAGG函数,可以用于字符串聚集,测试如下: 1,版本 SQL> select * from v$version; BANNER ————————...——————————————————– Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 – Production PL/SQL...:WMSYS.WM_CONCAT,10G已经提供该函数 SQL> SQL> SELECT deptno, WMSYS.WM_CONCAT(ename) AS vals –的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
大家好,又见面了,我是你们的朋友全栈君。 Oracle 函数 1 数值型函数 abs:求绝对值函数,如:abs(?...,如:initcap(‘SQL course’) Sql Course concat:连接两个字符串 concat(‘SQL’, ‘ Course’) SQL Course substr:给出起始位置和长度...:注意时分秒是抽取不到的 Sql代码 1....Oracle的类型转换分为自动类型转换和强制类型转换。...Oracle的日期类型是包含时间在内的。
今天讲一下几个排位(RANK)函数如何使用窗口函数。...先看看RANK的情况。 SQL> conn scott/triger; 接続されました。...再来看看DENSE_RANK的情况。...,下个排位是有空位的,而DENSE_RANK是没有空位的。...可以使用ROW_NUMBER当作分析函数。
游标可以理解为是PL/SQL中的结果集,我们通过游标可以提取结果集中的每行记录。 ?...NOT_LOGGED_ON PL/SQL 应用程序在没有连接 oralce 数据库的情况下访问数据 PROGRAM_ERROR PL/SQL 内部问题,可能需要重装数据字典& pl....运行 PL/SQL 时,超出内存空间 SYS_INVALID_ID 无效的 ROWID 字符串 TIMEOUT_ON_RESOURCE Oracle 在等待资源时超时 范例1:写出被0除的异常的plsql...Pl/sql程序体; return(结果变量);end[函数名]; 存储过程和存储函数的区别 一般来讲,过程和函数的区别在于函数可以有一个返回值;而过程没有返回值。...存储的PL/SQL程序。
今天讲一下错行函数(lag,lead)函数如何使用窗口函数。...取偏移后的第几行数据 --defval:没有符合条件的默认值 下面是表“test_student_score”的全部记录。...SQL> select t.* from test_student_score t; STUDENT_ID SUBJECT_ID SCORE ---------- ---------- --...先看一下不用这两个函数式的原始输出: SQL> select * from test_student_score t where t.subject_id = 3; STUDENT_ID SUBJECT_ID...现在我们还要看看排在他后一位的“score”。
PL/SQL是ORACLE对标准数据库语言的扩展,ORACLE公司已经将PL/SQL整合到ORACLE 服务器和其他工具中了,近几年中更多的开发人员和DBA开始使用PL/SQL,本文将讲述PL/SQL基础语法...1、PL/SQL的优点 从版本6开始PL/SQL就被可靠的整合到ORACLE中了,一旦掌握PL/SQL的优点以及其独有的数据管理的便利性,那么你很难想象ORACLE缺了PL/SQL的情形。...PL/SQL 不是一个独立的产品,他是一个整合到ORACLE服务器和ORACLE工具中的技术,可以把PL/SQL看作ORACLE服务器内的一个引擎,sql语句执行者处理单个的sql语句,PL/SQL引擎处理...PL/SQL支持所有SQL数据类型和所有SQL函数,同时支持所有ORACLE对象类型 PL/SQL块可以被命名和存储在ORACLE服务器中,同时也能被其他的PL/SQL程序或SQL命令调用,任何客户/服务器工具都能访问...ORACLE提供了四种类型的可存储的程序: 函数 过程 包 触发器 函数 函数是命名了的、存储在数据库中的PL/SQL程序块。
目录 一、 前言 二、什么是函数 1、哑表dual 2、字符函数 3、数字函数 4、日期函数 5、类型转换函数 6、千年虫: ---- 一、 前言 前面我们学了一些简单的用法,今天要学习oracl函数的使用...,函数是oracle非常重要的功能,如果将函数学会了,那么基本上在项目的一些增删改查功能,就可以很轻松的上手了,所以这篇文章一定要认真的看 二、什么是函数 这里的函数相当于java中写好的一些方法,有名字...函数分为: 1.单行函数 1.字符函数 2.日期函数 3.数字函数 4.转换函数 2....通常用在select语句中,作为查询的目标表结构,oracle保证dual里面永远只有一条记录。...数据库中表示一个日期数据的几种方式 1.sysdate 2.oracle默认的日期格式 例如:'25-MAY-95' 3.to_date函数转换
整理于 Oracle PL/SQL编程详解 – 古立 – 博客园 PL/SQL基础之DECLARE部分整理 PL/SQL块的结构 声明规范 标识符 数据类型 定义记录类型语法: 定义VARRY数据类型语法...: 使用%TYPE 使用%ROWTYPE 变量作用范围及可见性 因为SQL只能访问、操作数据库,却不能进行程序设计,而Oracle PL/SQL是一种高级数据库程序设计语言,该语言专门用于对ORACLE...DDL主要是用在定义或改变表的结构,数据类型,表之间的链接和约束等初始化工作上 PL/SQL块的结构 DECLARE --声明部分: 在此声明PL/SQL用到的变量,类型及游标,以及局部的存储过程和函数...使用%TYPE特性的优点在于: 1.所引用的数据库列的数据类型可以不必知道; 2.所引用的数据库列的数据类型可以实时改变,容易保持一致,也不用修改PL/SQL程序。...使用%ROWTYPE特性的优点在于: 1.所引用的数据库中列的个数和数据类型可以不必知道; 2.所引用的数据库中列的个数和数据类型可以实时改变,容易保持一致,也不用修改PL/SQL程序。
查看了这些对象主要表现在之前写法不严格的SQL语法导致了这些package无法成功编译,诸如select查询列中不能使用混淆的列名称等。...另外一个比较表现突出的是返回ORA-00932: inconsistent datatypes: expected - got CLOB错误,即不一致的数据类型,获得CLOB数据类型。...: expected - got CLOB 30/13 PL/SQL: SQL Statement ignored 898/13 PL/SQL: ORA-00932: inconsistent...,尝试注视该列,Pckage编译成功,看来是这个函数是罪魁祸首 --关于这个函数在10.2.0.3的表现为返回为VARCHAR2数据类型,如下: SQL> select * from v$version...,MYSQL 3 OFFICE 3、Metalink上的相关文档(ID 1300595.1,ID 1336219.1) --是一个内部函数,不建议使用 Symptoms In
在ORACLE系统里,触发器类似过程和函数,都有声明,执行和异常处理过程的PL/SQL块。...Condition 为一个逻辑表达时,其中必须包含相关名称,而不能包含查询语句,也不能调用PL/SQL 函数。...Condition 为一个逻辑表达时,其中必须包含相关名称,而不能包含查询语句,也不能调用PL/SQL 函数。...6.2.7重新编译触发器 如果在触发器内调用其它函数或过程,当这些函数或过程被删除或修改后,触发器的状态将被标识为无效。...当DML语句激活一个无效触发器时,ORACLE将重新编译触发器代码,如果编译时发现错误,这将导致DML语句执行失败。
一、单行函数 函数分为系统内置函数自定义函数(后期学习的plsql 中定义);了解系统内置函数(方法),重点掌握 to_date 、 to_char (字符和日期的转换)...根据函数的返回结果,我们将函数分为单行函数和多行函数 1)、单行函数:一条记录返回一个结果 2)、多行函数 组函数 聚合函数 (重点) :多条记录 返回一个结果 (重点) ?...1、日期函数 日期函数: 注意区分 db数据库时间 ,java应用服务器的时间。...以一方为准 oracle以内部数字格式存储日期:年,月,日,小时,分钟,秒 ···sysdate/current_date -- 以date类型返回当前的日期 ···add_months(d,x)...-- 返回加上x月后的日期d的值 ···LAST_DAY(d) -- 返回的所在月份的最后一天 ···months_between(date1,date2) -- 返回date1和date2之间月的数目
Oracle PL/SQL基础知识及应用案例 本文介绍了Oracle PL/SQL的基础知识,包括概述和优势、数据类型和变量、控制结构以及异常处理。...PL/SQL的概述和优势 PL/SQL(Procedural Language/Structured Query Language)是一种过程化的编程语言,是Oracle数据库的核心组成部分。...然后使用DBMS_OUTPUT.PUT_LINE函数输出了这些变量的值。 2. PL/SQL的数据类型和变量 在PL/SQL中,有多种数据类型可供使用,包括整数、浮点数、字符、日期等。...下面是一个示例,演示了PL/SQL中的数据类型和变量的使用。...然后根据公式计算圆的面积,并使用DBMS_OUTPUT.PUT_LINE函数输出结果。 3.
第一层要求是做到PL语言的语法完全兼容,即Oracle实现的PL语言元素,如变量定义、函数定义、循环、控制、SQL调用、函数调用、异常语句等,从语法格式上完全对应; 第二层要求是做到PL语言的语义完全一致...PL语言与结构化查询语言SQL的结合非常紧密,具体表现在以下方面: 允许静态SQL操作,即直接使用所有的DQL、DML数据操作,事务控制语句,语句中完全支持内置函数、高级包的子函数、运算符和伪列; 允许通过动态...该特性主要是由静态SQL支持范围进一步放开了DDL语句特性; 完全支持SQL中定义的所有数据类型,包括数值、字符串、RAW、BOOLEAN、大对象等数据类型; 支持游标变量,提供了灵活的游标OPEN...完整的可编程逻辑SQL语言是一种数据描述语言,PL语言则是极大的扩展了数据库的可编程逻辑。PL语言源于元老级的Ada语言,SQL/PSM为业界标准,Oracle的PL/SQL语法形式为当前事实标准。...再举一个例子,比如实现了一个自定义公共的字符串替换函数,当这个函数的实现发生变更,那么所有依赖这个公共函数的PL对象、SQL语句等都应该发生失效重编译的动作,否则原编译结构中包含的实现逻辑就是错误的。
大家好,又见面了,我是你们的朋友全栈君。 —认识PL/SQL *** PL/SQL的使用几乎贯穿于整个Oracle 的学习过程,也是作为一个初级开发人员必须掌握的重要知识点。...*** PL/SQL是Oracle 公司在标准SQL语言基础上进行扩展而形成的一种可以在数据库上进行设计变成的语言, 通过Oracle 的PL/SQL 引擎执行。...》》它支持SQL的所有数据类型,并且在此基础上扩展了新的数据类型,也支持SQL的函数以及 运算符 》》 PL/SQL可以存储在...—PL/SQL的优势 *** 由于PL/SQL语言是从SQL语言扩展而来,所以PL/SQL除了支持SQL数据类型和函数外,同时也支持 Oracle对象类型。...》》每行只写一条语句 》》全部的保留字、Oracle的内置函数、程序包以及用户定义的数据类型都用大写
评估、迁移、验证) 内核层面兼容 对内置数据类型、内置系统函数、PLSQL等语法层面兼容 对分区表、递归查询、DBlink、伪列等功能层面兼容 驱动层面兼容 JDBC配合内核能力做用法兼容 OCI对oracle...PL/SQL语法兼容 PL/SQL语法兼容Oracle 存储过程、函数的创建,如:以IS作为PLSQL块定义开始、可以用/作为定义结束 存储过程、函数支持COMMIT、ROLLBACK事务控制 兼容游标属性支持...PL/SQL - 语法 Oracle存储过程/函数语法特点: 以IS作为代码块的起始定义 使用/作为结束定义结束 使用END procname作为函数代码块结束、等 PostgreSQL存储过程/函数语法特点...PL/SQL - 自治事务 自治事务: 自治事务由主事务启动;自治事务运行时,主事务挂起 自治事务与启动它的主事务相互独立 自治事务可以用在存储过程、函数、匿名块以及触发器中 如果自治事务与主事务产生锁冲突...兼容性评估 对象兼容评估报告: 数据库静态对象,例如:表、索引、视图、函数、存储过程、物化视图、触发器、包、数据类型等信息 应用兼容评估报告: 应用端发送给源端执行的SQL评估 评估效果和运行时间、抓取得
COMPILE; --查看是否有编译错误 show errors PL/SQL生成脚本编译所有无效用户对象 例1: --编译所有无效PROCEDURE对象 BEGIN...and utlprp.sql脚本编译数据库失效对象 Oracle提供了utlrp.sql和utlprp.sql脚本来重新编译数据库中的所有无效对象, 例: @$ORACLE_HOME/rdbms/admin.../utlrp.sql @$ORACLE_HOME/rdbms/admin/utlprp.sql DBMS_UTILITY.compile_schema编译数据库失效对象 DBMS_UTILITY包中的COMPILE_SCHEMA...过程编译指定模式中的所有过程,函数,包和触发器。...RECOMP_SERIAL过程一次重新编译所有无效对象,而RECOMP_PARALLEL过程使用指定数量的线程并行执行相同的任务。 例: -- Schema level.
领取专属 10元无门槛券
手把手带您无忧上云