首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Oracle 数据库拾遗(二)

中,定义了 TOP N 关键字来实现,而 Oracle PL/SQL 不支持该关键字。...= 等比较运算符,不能用 >、>= 等运算符,这是因为 ROWNUM 从自然数 1 开始,Oracle 认为 ROWNUM>n(n>1)这种条件是不成立的,因此使用 >、>= 等运算符是无法返回数据记录的...SELECT * FROM student WHERE ROWNUM <= 5; 函数 除了标准 SQL 的命令和语句外,Oracle PL/SQL 还提供了许多用于执行特定操作的专用函数。...NVL 在 SQL Server 中 MS T-SQL 中提供了一个函数 ISNULL 来判断一个字符串是否为空,Oracle PL/SQL 没有提供该函数,但使用了功能更为强大的函数来替代,即 NVL...SELECT ENO, ENAME, SALARY, NVL(COMM, 100) FROM SALARY WHERE SALARY < 3000; 在 Oracle PL/SQL 中,NVL

1.6K10
您找到你想要的搜索结果了吗?
是的
没有找到

【DB宝26】在Oracle 19c中创建容器数据库(3)--手动创建CDB

种子数据文件会从根数据文件复制到另一个位置。种子数据文件可用作创建未来PDB的模板。如果省略此子句Oracle Managed Files会决定种子文件的名称和位置。...该子句指定数据库为CDB而不是非CDB。此时会创建根容器和种子可插拔数据库。您可以使用另一个子句SEED FILE_NAME_CONVERT指定种子文件的位置。.../rdbms/admin/catproc.sql --PL/SQL存过过程相关代码 SQL> @?/rdbms/admin/utlrp.sql --编译 SQL> @?.../rdbms/admin/catproc.sql --PL/SQL存过过程相关代码 SQL> @?/rdbms/admin/utlrp.sql --编译 SQL> @?.../sqlplus/admin/pupbld.sql --system运行 ---如果需要安装其他组件,则还需要跑其他的组件脚本 运行catcdb.sql需要输入几个参数: SQL> host perl

3.7K20

Oracle数据库相关经典面试题

解释函数,存储过程,包 答∶ 都是命名块,函数与过程是pl/sql代码的集合,通常是为了完成一个业务,过程可以不返回任何值,但函数必须有返回值。包是为了完成某个完整功能的一组函数与过程的集合。...很类似与现实生活中书的目录不需要查询整本书内容就可以找到想要的数据。索引可以是唯一的创建索引允许指定单个列或者是多个列。缺点是减慢了数据录入的速度同时也增加了数据库的尺寸大小。...通过索引查询数据比全表扫描要快.但是我们也必须注意到的代价索引需要空间来存储,也需要定期维护, 每当有记录在表中增减或索引列被修改时,索引本身也会被修改....因为索引需要额外的存储空间和处理,那些不必要的索引反而会使查询反应时间变慢.使用索引查询不一定能提高查询性能。 PL/SQL语句块包含哪些部分?...答∶ Pl/sql 的块结构包括:定义部分,执行部分,异常处理部分。 Oracle中字符串用什么符号链接?

2.2K20

数据库常见面试题及答案(数据库面试常见问题)

很类似与现实生活中书的目录,不需要查询整本书内容就可以找到想要的数据。索引可以是唯一的,创建索引允许指定单个列或者是多个列。缺点是减慢了数据录入的速度,同时也增加了数据库的尺寸大小。...使用group by 子句的查询语句需要使用聚合函数。...PL/SQL是一种程序语言,叫做过程化SQL语言(Procedural Language/SQL)。PL/SQLOracle数据库对SQL语句的扩展。...在普通SQL语句的使用上增加了编程语言的特点,所以PL/SQL把数据操作和查询语句组织在PL/SQL代码的过程性单元中,通过逻辑判断、循环等操作实现复杂的功能或者计算。...PL/SQL 只有 Oracle 数据库有。 MySQL 目前不支持 PL/SQL 的。 25、序列的作用 Oracle使用序列来生成唯一编号,用来处理一个表中自增字段。

3.5K10

Oracle 数据库拾遗(一)

Oracle 数据库拾遗(一) 發佈於 2021-01-09 由于目前工作需要使用 Oracle 数据库,准备来看一下 PL/SQL 对标准 SQL 进行了那些补充。...table_name> AS SELECT * FROM WHERE 1=2; 其中,AS 是复制表结构的关键字,SELECT 子句是从已存在的表中获取所有字段...DROP TABLE ANSI/ISO SQL 标准定义了 DROP TABLE 命令用于删除数据表,Oracle PL/SQL 也同样支持该命令语句的执行: DROP TABLE <table_name...在 Oracle PL/SQL 中,DEFAULT 关键字用来指定某个字段的默认值。在 MS T-SQL 中将 DEFAULT 作为约束操作,而 Oracle PL/SQL 将其认为是一个字段值。...在SQL 中,DEFAULT 关键字后的值只能为下列三种值中的一种: 常量值 NULL 系统函数 同时,由于 Oracle 中 DEFAULT 不是约束,因此在使用 SELECT 显示表的约束时,默认值不会显示出来

1.1K20

PLSQL 入门学习(一)

在学校的时候虽说上过PL/SQL这门课,然并卵,只恨当时啊!工作关系,需要用到Oracle存储过程。我就简单看了一些教程,特此记录一下。 首先,先介绍一下PL/SQL 是什么?...PL/SQL是是由甲骨文公司在90年代初开发,以提高SQL的功能。PL/SQL是嵌入在Oracle数据库中的编程语言之一。PL/SQLOracle数据库对SQL语句的扩展。...在普通SQL语句的使用上增加了编程语言的特点,所以PL/SQL就是把数据操作和查询语句组织在PL/SQL代码的过程性单元中,通过逻辑判断、循环等操作实现复杂的功能或者计算的程序语言。...总结就是:PL/SQL是一门为扩展OracleSQL功能的编程语言。(我他么竟然现在才知道!!!)...的SELECT INTO子句PL/SQL变量赋值 declare c_id customers.id%type := 1; c_name customers.name%type; c_addr

52640

分享:Oracle sql语句优化

优化sql时,经常碰到使用in的语句,一定要用exists把给换掉,因为Oracle在处理In时是按Or的方式做的,即使使用了索引也会很慢。...将不接受下一 条具有相同A,B 值(123,null)的记录(插入).然而如果所有的索引列都为空,ORACLE认为整个键值为空而空不等于空....另一个使用索引的好处是,提供了主键(primary key)的唯一性验证.。那些LONG 或LONGRAW 数据类型, 你可以索引几乎所有的列. 通常, 在大型表中使用索引特别有效....注意当字符和数值比较时, ORACLE 会优先 转换数值类型到字符类型 25、需要当心的WHERE 子句: 某些SELECT 语句中的WHERE 子句不使用索引. 这里有一些例子....ESTIMATE STATISTICS; Oracle优化器 Sql优化工具的介绍: --Autotrace使用方法: sqlexpert;toad;explain-table;PL/SQL;OEM

2.8K10

oracle怎么使用触发器,Oracle触发器的使用

一、触发器简介 触发器是指隐含执行的存储过程,它可以使用PL/SQL,java和C进行开发,当发生特定事件(例如:修改表、建立对象、登录数据库)时,Oracle会自动执行触发器的相应代码。...1、触发事件 触发事件是指触发器被触发的SQL、数据库事件和用户事件,在oracle8i之前,触发事件只能是DML操作,在oracle8i之后,不仅支持DML事件,而且还增加了其他事件,具体事件如下:...3、触发操作 触发操作是指包含SQL语句和其他执行代码的PL/SQL块,不仅可以使用PL/SQL开发,也可以使用java或c语言开发,当触发条件为true时,会自动执行触发操作的相应代码。...子句中的表名,from子句中写在最后的表(基础表 driving table)将被最先处理,在from子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表。...如果有3个以上的表连接查询, 那就需要选择交叉表(intersection …… 1.在ORACLE中实现SELECT TOP N 由于ORACLE不支持SELECT TOP语句,所以在ORACLE中经常是用

2.3K30

Oracle 数据库拾遗(三)

使用 GROUP BY 子句实现分组 在实际应用中,使用 SELECT 语句查询出来的数据量可能会很多,这时就需要将庞大的数据记录进行分组,便于用户查看。...SELECT MAX(SAGE) 最大年龄, SDEPT FROM student GROUP BY SDEPT; 上面是 GROUP BY 的基本使用,我们再来看一下 Oracle PL/SQL...改变列的顺序会使返回的结果的行数发生变化 需要注意: 使用了 GROUP BY 子句的选择列表中只能包含以下项: 常量 组合列 聚合函数表达式 按条件查询并分组 含有 GROUP BY 子句SELECT...,在使用 GROUP BY 子句为查询记录分组时,经常需要进行过滤,这就需要用户在 SELECT 语句中增加数据过滤准则。...PL/SQL 中的集合运算就是将两个或者多个集合组合成为一个结果集,集合运算包括以下 4 种: INTERSECT(交集),返回两个查询共有的记录 UNION ALL(并集),返回各个查询的所有记录

1.4K10

oracle基础|oracle的认知|Select用法详解

3.三个名词: sql:结构化的查询语句,操作oracle数据库的语言 sqlplus:oracle软件自带的可以输入sql,且将sql执行结果显示的终端 pl/sql:程序化的slq语句,在sql语句的基础上加入一定的逻辑操作...序列 index:索引,提高数据的访问效率 synonym:同义,方便对象的操作 program unit:程序单元,pl/sql操作的对象 5.五种分类 sql的五大分类: Data retrieval....sql start e:/oracle/summit2.sql 6.查看表结构: desc table_name; ---- select用法详解 1.select : 语法: select [...select 子句后边指定要查询的列 from 子句后边跟要查询的表 My name is first_name.last_name; 2.select语句可以对指定的列的所有值进行算术运算...4) 所有字符串和日期要用单引号括起来,数值不需要单引号。 日期在Oracle里有特定的格式,’DD-MON-YY’(具体看日期的显示格式), 否则作为一个字符串。

2.4K20

Oracle 20c 新特性详解:SQL Macro 宏 SCALAR TABLE 模式带来的敏捷和便利

墨墨导读:在 Oracle 20c 中,SQL的宏支持 - SQL Macro 为 SQL 开发带来了进一步的敏捷和便利,在这篇文章中,我们来详细了解一下 SQL Macro 的特性用法。...SCALR 表达式可以用于 SELECT 列表、WHERE/HAVING、GROUP BY/ORDER BY子句; TABLE 表达式可以用于 FROM 语句。 ?...–在PL / SQLSQL之间没有上下文切换; –在与外部查询相同的快照下执行 PL / SQL 函数内部的查询; –使用标量宏的WHERE子句谓词可被下推到Exadata中的存储侧谓词评估– 这对PL...–第一行的值优先 –每个后续行的值将比上一行的值多一步 • 这些宏的语义是在Python的内置range()函数之后建模的 – PL / SQL程序包 – PL / SQL程序包主体 以下是一个范围处理的范例...• 自动继承所有常用的数据库内查询优化; • 可以建立参数化视图; • 简化从非Oracle数据库迁移到Oracle数据库; 这就是 Oracle 20c 的 SQL Macro 的概要信息,相关的

2K20

Oracle数据库自我总结

1.Oracle连接远程服务器,需要安装客户端的同时需要覆盖D:\oracle\product\10.2.0\db_1\NETWORK\ADMIN\tnsnames.ora文件。...oracle数据库的服务需要开启。 ? 1。create or replace view 视图名称。简单视图可以实现DML操作 2. oracle 中没有自增长列,MySQL中有。...select t.*, t.id from tb t; 10.在pl/sql里面insert,delete,update数据时,一定要记住结尾加上commit。...select sysdate as 时间 from dual(正) 24.在pl/sql里面,如果想手动修改一条select查询出来的记录。...解决:对PL/SQL图标右键,属性---兼容性--在以管理员身份进入的地方打勾,再次运行PL/SQL        26. having 子句中的每一个元素也必须出现在select列表中。

1.1K20

【DB笔试面试444】Oracle中PLSQL的流程控制语句包括哪些?

题目部分 OraclePL/SQL的流程控制语句包括哪些?...PL/SQL不仅允许嵌入SQL语言,还可以定义变量和常量,允许使用条件语句和循环语句,允许使用异常进行捕获程序中的各种错误,这样使得的功能变得更加强大。...如果不使用PL/SQL语言,那么Oracle一次只能处理一条SQL语句。每条SQL语句都导致客户向服务器调用,从而在性能上产生很大的开销,尤其是在网络操作中。...——处理运行的各种错误*/ END; 在使用PL/SQL的时候,需要注意以下几点内容: (1)定义部分是从DECLARE开始的,该部分是可选的。...否则,循环将无法停止,同时,需要注意的是,该循环是PL/SQL中最简单的循环语句,这种循环语句以LOOP开头,以END LOOP结尾,这种循环至少会被执行一次。

1.1K20

plsql编程---过程、函数、包

如下所示: declare /*定义部分——定义常量、变量、游标、例外、复杂数据类型*/ begin /*执行部分——要执行的pl/sql语句和sql语句*/ exception /*例外处理部分——处理运行的各种错误...SMITH"); 4. cs.setInt(2,10); 5. //5.执行 6. cs.execute(); 6.函数 函数用于返回特定的数据,当建立函数时,在函数头部必须包含return子句...SQL> print income 同样我们可以在java程序中调用该函数 select annual_income('SCOTT') from dual; 7.包 包用于在逻辑上组合过程和函数,由包规范和包体两部分组成...end; 13. end; 3).如何调用包的过程或是函数 当调用包的过程或是函数时,在过程和函数前需要带有包名,如果要访问其它方案的包,还需要在包名前加方案名。...PKG_SAL.ANNUAL_INCOME('XIAOMIN ------------------------------ 60000 5.将函数作为另一个子程序的参数

53410

PLSQL 游标变量

PL/SQL 中,为创建游标变量,首先需要申明一个REF CURSOR类型,然后声明该类型的一个变量。     为了执行多行查询,Oracle 会开启一个未命名的工作区来存放处理信息。...PL/SQL 和其他客户端程序都不拥有结果集,它们只是共享一个指向存放结果集工作区的指针而已。...例如,一个OCI 客户端,一个Oracle Forms 应用程序和Oracle 服务器可以引用同一个工作区。只要有游标变量指向查询工作区,我们就可以引用它。...因此,我们可以把游标变量的值自由地从一个作用域传递到另一个。     例如,我们把主游标变量传递到嵌套在Pro*C 程序中的PL/SQL 块,游标变量指向的工作区就可以被访问。    ...REF CURSOR适合于只依赖于SQL语句中(不是PL/SQL语句中)变   量的查询 8、不能在联合数组、嵌套表、或者变长数组中存储游标变量 9、如果向PL/SQL传递主机游标变量,不能在服务器检索

1.3K40
领券