- 博客(39)
- 资源 (11)
- 问答 (2)
- 收藏
- 关注
原创 Oracle伪列的使用总结
Oracle伪列的使用总结伪列是指在创建表时不用我们自己创建,而是由Oracle自动创建的列。Oracle可以使用的伪列分为以下几种:(1)在普通查询中使用的伪列:ora_rowscn,rowid,rownum;(2)在Flashback Version Query查询中使用的伪列:versions_starttime,versions_endtime,versions_startscn,v...
2020-02-26 12:17:59 1125
原创 Linux用户和组的管理
Linux用户和组的管理一、Linux用户和组的概念1、用户的概念Linux系统是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。每个用户账号都拥有一个唯一的用户名和各自的口令。用户在登录时键入正确的用户名和口令后,就能够进入系统和自己的主目录。用户在系统中是分角色的,在Linux系统中,由于角色的不同,权限和所完...
2020-02-23 18:47:55 527
原创 Oracle的代码块(5)——触发器
Oracle的代码块(5)——触发器触发器和存储过程与存储函数相似,也是一个PL/SQL代码块。触发器与存储过程和存储函数不同的是,存储过程与函数需要用户调用才执行,而触发器是由一个事件来启动运行。即触发器是当某个事件发生时自动运行。一、触发器概述1、Oracle触发器的分类Oracle的触发器分为三类:(1)DML触发器,在DML操作前或操作后进行触发,DML触发器又分为语句级触发器和...
2020-02-20 11:43:08 940
原创 Oracle的代码块(4)——Package(包)
Oracle的代码块(4)——Package(包)PL/SQL为了满足程序模块化的需要,引入了包的构造。通过使用包可以分类管理过程和函数等。一、包的概念包是一种数据库对象,相当于一个容器。将逻辑上相关的过程、函数、变量、常量和游标组合成一个更大的单位。用户可以从其他 PL/SQL 块中对其进行引用。使用包来管理数据库对象具有以下优点:(1)包类似于C++和JAVA语言中的类,其中变量相当于...
2020-02-18 18:21:41 947
原创 Oracle代码块(3)——存储函数
Oracle代码块(3)——存储函数函数与存储过程相似,也是数据库中存储的已命名PL-SQL程序块。函数的主要特征是它必须有一个返回值。通过returns来指定函数的返回类型,返回类型必须和声明的返回类型一致。存储函数定义之后,可以象使用系统函数一样来使用存储函数。一、存储函数的语法存储函数的语法如下:create [or replace] function 函数名 [(参数列表)] ...
2020-02-18 12:08:27 852
原创 Oracle使用EXECUTE IMMEDIATE命令动态执行SQL语句
Oracle使用EXECUTE IMMEDIATE命令动态执行SQL语句动态执行SQL语句指先把一个SQL命令保存到一个字符串中,然后通过execute immediate命令动态执行字符串中的SQL语句,以实现SQL语句的动态生成。一、动态SQL语句的使用方式DECLARE 字符串变量名 varchar2(n); --定义一个字符串类型的变量,用以保存SQL语句BE...
2020-02-18 09:49:44 10359
原创 oracle存储过程的定义者权限与调用者权限
oracle存储过程的定义者权限与调用者权限当某个用户定义的存储过程由另一个用户调用时,需要指定存储过程的Definer(定义者权限 )与Invoker(调用者权限)。一、存储过程的定义者权限存储过程默认为该权限,也可以在定义存储过程的is|as之前添加authid definer参数,格式如下:create [or replace] procedure 名称[(参数1 in | out...
2020-02-17 20:30:27 3885
原创 Oracle存储过程中的自治事务
Oracle存储过程中的自治事务自治事务就是创建一个事务中的事务,它能独立于其父事务提交或回滚。利用自治事务,可以挂起当前执行的事务,开始一个新事务,然后提交或回滚,所有这些都不影响当前所执行事务的状态。自治事务提供了一种用PL/SQL控制事务的新方法。自治事务的核心思想就是执行自治事务不会对上一层的事务环境造成任何影响。要声明一个自治事务,需要在过程的声明部分添加如下代码:pragma ...
2020-02-17 19:27:32 1051
原创 Oracle代码块(2)——存储过程
Oracle代码块(2)——存储过程存储过程就是封装了一个匿名代码块,可以通过参数进行输入,输出值。可以通过调用存储过程的名称来复用代码块。一、存储过程的定义create [or replace] procedure 名称[(参数1 in | out | in out 类型, 参数2 in | out | in out 类型, ...)] is|as --变量声明区间 ...
2020-02-17 13:01:06 920
原创 Oracle通过自定义异常来处理学生成绩
Oracle通过自定义异常来处理学生成绩要求:输入一个成绩,判断该成绩的等级。(1)如果成绩大于100或者小于0,显示错误;(2)成绩在90—100之间为优秀;(3)成绩在75—90之间为中等;(4)成绩在60—75之间为及格;(5)成绩小于60为不及格。并且把每次的判断信息保存到表score_logs中。一、定义score_logs表表结构定义如下:create table ...
2020-02-16 17:13:19 892
原创 Oracle使用BULK COLLECT和FORALL语句批量处理数据
Oracle使用BULK COLLECT和FORALL语句批量处理数据PL/SQL块的执行过程:当PL/SQL运行时引擎处理一块代码时,它使用PL/SQL引擎来执行过程化的代码,而将SQL语句发送给SQL引擎来执行;SQL引擎执行完毕后,将结果再返回给PL/SQL引擎。这种在PL/SQL引擎和SQL引擎之间的交互,称为上下文交换。过多的上下文交换将带来额外的开销,导致效率降低,处理速度变慢。从...
2020-02-15 22:13:15 2348
原创 Oracle代码块(1)——匿名代码块
Oracle代码块(1)——匿名代码块Oracle的流程控制语句必须在代码块中执行。代码块分为两种:命名块和匿名块。匿名代码块:以DECLARE或BEGIN开始,每次提交都被编译。匿名块因为没有名称,所以不能在数据库中存储并且不能直接从其他PL/SQL块中调用。命名代码块:包括存储过程、函数、包和触发器。命名代码块可以在数据库中存储并在适当的时候调用。一、定义Oracle匿名代码块在代码...
2020-02-14 16:26:55 5371 1
原创 ORACLE中的系统预定义异常
ORACLE中的系统预定义异常可以在SQL块中使用EXCEPTION来捕捉异常并且进行处理。Oracle预定义的21个系统异常,如果定义异常能够满足要求,就可以使用他们。如果不满足,则可以定义自己的异常,并且可以使用RAISE EXCEPTION来抛出异常。序号系统异常名称产生原因1ACCESS_INTO_NULL未定义对象2CASE_NOT_FOUNDCA...
2020-02-13 22:20:58 955
原创 Oracle中的异常处理
Oracle的异常处理任何ORACLE错误(报告为ORA-xxxxx形式的Oracle错误号)、PL/SQL运行错误或用户定义条件都可以通过异常处理进行捕获并进行处理。但是PL/SQL编译错误不能通过PL/SQL异常处理来处理,因为这些错误发生在PL/SQL程序执行之前。一、Oracle的异常处理方式异常情况处理(EXCEPTION)是用来处理正常执行过程中未预料的事件,当PL/SQL程序块...
2020-02-13 22:20:15 1529 1
原创 Oracle中游标的使用
Oracle中游标的使用游标可以看成是指向一个查询结果集的指针,通过游标的移动逐行提取每一行的记录 可以让开发者一次访问一行结果集,在每条结果集上作操作。游标的作用如下:(1)指定结果集中特定行的位置;(2)基于当前的结果集位置检索一行或连续的几行;(3)在结果集的当前位置修改行中的数据;(4)以编程的方式访问数据库。由于程序语言是面向记录的,一组变量一次只能存放一个变量或者一条记录...
2020-02-13 18:33:03 1942
原创 Oracle中的record类型和table类型
Oracle中的record类型和table类型一、record类型记录是一种单行多列的复合结构,将一个或多个标量封装成一个对象进行操作。(1)记录可以直接赋值,即:RECORD1 := RECORD2;(2)记录不可以整体比较,记录不可以整体判断为空,只可以判断记录字段。定义record类型的语法:TYPE 类型名称 IS RECORD ( 字段名1 数据类型...
2020-02-13 14:49:43 3779
原创 ORACLE中使用%TYPE和%ROWTYPE定义变量的类型
ORACLE中使用%TYPE和%ROWTYPE定义变量的类型一、%TYPE的用法定义变量时可以使变量与另一个已经定义好的变量(通常是表中的一列)的数据类型保持一致,可以使用%Type的方式。使用%Type定义变量的好处是:当被参照的那个变量的数据类型发生变化时,该变量的数据类型也会随着发生变化,该变量的类型不由自己决定,而是由与之关联的对象决定。例如:输入一个部门的编号,显示出这个部门的名称...
2020-02-13 14:48:27 1867 1
原创 Oracle变量的定义和使用
Oracle变量的定义和使用Oracle提供了三种定义变量的方式,分别为:使用define定义HOST变量,使用Variable定义绑定变量,在代码块的declare中定义变量。一、使用define定义HOST变量使用define定义host变量时须指定变量名和变量的值,如果变量名已存在于host变量中,则自动覆盖。定义host变量时不能指定类型,一律按char存储。DEFINE变量只在当前...
2020-02-13 14:47:15 8383
原创 Oracle的流程控制语句
Oracle的流程控制语句Oracle的流程控制语句必须在代码块中执行。代码块分为两种:命名块和匿名块。匿名代码块:以DECLARE或BEGIN开始,每次提交都被编译。匿名块因为没有名称,所以不能在数据库中存储并且不能直接从其他PL/SQL块中调用。命名代码块:包括存储过程、函数、包和触发器。命名代码块可以在数据库中存储并在适当的时候调用。一、Oracle代码块格式1、匿名块格式:de...
2020-02-11 21:20:36 861
原创 Oracle利用start with子句实现递归查询
Oracle利用start with子句实现递归查询一、数据准备创建一张表area,表结构如下:10:59:43 SQL> desc area; Name Null? Type ----------------------------------------------------------------------------------- ID ...
2020-02-10 15:53:59 1100
原创 Oracle查询中with as子句的用法
Oracle查询中with as子句的用法一、with as语法Oracle查询中的with as子句相当于创建一个临时表,将一个语句中的某些中间结果放在临时表空间。将查询中的子查询命名,放到SELECT语句的最前面。语法如下:with temptablename([字段列表]) as (select ...)select ...也可以使用with as子句定义多个临时表,创建多个临时...
2020-02-10 10:49:28 2269
原创 Oracle分组查询中的一些扩展功能
Oracle分组查询中的一些扩展功能在Oracle数据库中进行分组查询,利用group by进行分组,利用聚合函数(sum、count、avg、max、min等)对分组进行统计,使用having可以对组进行筛选。除了这些基本的分组操作,Oracle还提供了一些扩展功能。一、使用ROLLUPROLLUP是对每个分组生成汇总数据, rollup和group by联合一起使用,实现小计和合计的功...
2020-02-08 13:31:15 237
原创 Oracle分组查询中ROLLUP和CUBE的使用
Oracle分组查询中ROLLUP和CUBE的使用一、使用ROLLUPROLLUP是对每个分组生成汇总数据, rollup和group by联合一起使用,实现小计和合计的功能。rollup分组还是有序的,先全部分组,然后对每个分组小计,最后合计。正常的分组查询只显示每一个分组的统计结果,结果如下:10:33:52 SQL> select deptno,job,count(*) as ...
2020-02-08 11:27:42 460
原创 Oracle与用户权限有关的数据字典
Oracle与用户权限有关的数据字典数据字典是Oracle存放有关数据库信息的地方。比如一个表的创建者信息,创建时间信息,所属表空间信息,用户访问权限信息的视图等。数据字典系统表,保存在system表空间中。查询所有数据字典可使用语句:select * from dictionary;DBA_USERSALL_USERSUSER_USERSALL_TAB_PRIVSALL_TAB_P...
2020-02-07 20:16:58 1057
原创 Oracle的角色管理
Oracle的角色管理角色是一组相关权限的命名集合,通过使用角色可以简化权限管理。将一组权限打包到角色中,授予权限时可直接将角色赋予用户,代表将角色下的所有权限都赋予了用户,简化了授权操作。一、Oracle标准角色Oracle提供了三个标准角色:1、connect (连接角色)connect 角色所拥有的权限如下:16:36:30 SQL> select * from dba_s...
2020-02-07 17:34:55 346
原创 Oracle的用户权限管理
Oracle的用户权限管理一、Oracle用户管理Oracle用户指可以对数据库进行增、删、改、查等操作的用户。主要包括:超级管理员,如SYS;普通管理员,如SYSTEM;普通用户,如SCOTT;大数据用户。可以对用户进行的操作如下:1、创建用户创建用户的语法如下:create user 用户名 identified by 密码;举例:14:36:09 SQL> show u...
2020-02-07 16:28:50 412
原创 Oracle中的序列(sequence)
Oracle中的序列(sequence)在Oracle数据库中,序列(sequence)其实就是一个序列号生成器,它可以为表中的行自动生成序列号,主要的用途是生成表的主键值。相当于SQL Server和MySQL中的自增字段。在SQL Server中可以在定义主键时使用identity关键字定义,在MySQL中可以在定义主键时使用increment关键字定义。在Oracle数据库中要想使用自增字...
2020-02-07 00:37:15 1452
原创 Oracle数据库中的case函数和decode函数
Oracle数据库中的case函数case函数有两种格式:1、格式一CASE exp1 WHEN exp11 THEN exp12 WHEN exp21 THEN exp22 .... WHEN expN1 THEN expN2 ESLE expMEND说明:该函数的返回值为:当exp11的值和exp1相等时,返回exp12的值,当exp21的值和exp1相等时,返回exp...
2020-02-04 18:13:01 426
原创 Oracle的类型转换函数
Oracle的类型转换函数1、NVL格式:NVL(val1,val2) --如果val1值为null,返回val2,否则返回val1举例:SQL> select ename,sal,comm,sal+NVL(comm,0) as income from emp;ENAME SAL COMM INCOME---------- ---------- -...
2020-02-04 15:14:02 559
原创 Oracle数据库如何查看和配置字符集
Oracle数据库如何查看和配置字符集字符集就是按照一定的字符编码方案,对一组特定的符号,分别赋予不同数值编码的集合。在操作Oracle数据库时,server端和client端字符集必须要一致,否则检索或导入导出数据时会产生乱码。一、服务端字符集1、查看服务端字符集SQL> select userenv('language') from dual;USERENV('LANGUAG...
2020-02-04 15:01:22 1322
原创 Oracle常用的日期函数
Oracle常用的日期函数1、SYSDATE格式:SYSDATE --返回一个date类型的系统日期举例:SQL> select sysdate from dual;SYSDATE---------04-FEB-202、SYSTIMESTAMP格式:SYSTIMESTAMP --返回一个timestamp with time zone结果举例:SQL&...
2020-02-04 12:50:13 679
原创 Oracle常用数值型函数
Oracle常用数值型函数1、求绝对值格式:ABS(x)举例:SQL> select ABS(-25.1) as RESULT from dual; RESULT---------- 25.12、取整函数格式:FLOOR(x) --返回小于或等于x的最大整数CEIL(x) --返回大于或等于x的最小整数举例:SQL> sel...
2020-02-03 22:15:19 558
原创 Oracle的字符串处理函数
Oracle的字符处理函数1、将字符串转换为大写字符格式:UPPER(string)举例:SQL> select UPPER('I am a student!') AS RESULT from dual;RESULT---------------I AM A STUDENT!2、将字符串转换为小写字符格式:LOWER(string)举例:SQL> se...
2020-02-03 21:21:23 367
原创 设置vim编辑器显示行号
设置vim编辑器显示行号在Linux操作系统中,编译程序遇到错误时一般会提示出错的行号,用vim打开文件时默认是不显示行号的,要想让vim编辑器显示行号有两种情况,一种是临时显示,一种是永久显示。一、使vim编辑器临时显示行号按ESC键退出编辑模式,输入【:set number】然后回车。此时vim编辑器显示行号,但退出vim编辑器之后再次打开vim编辑器就不显示行号了。效果如下: 1 ...
2020-02-03 15:08:59 929
原创 CentOS6安装Oracle11g(3)——设置Oracle开机自动启动
CentOS6安装Oracle11g(3)——设置Oracle开机自动启动1、查看Oracle的安装目录[oracle@wgx ~]$ echo $ORACLE_HOME/usr/local/oracle/product/11.2.0/db_12、编辑数据库自带启动脚本dbstart编辑脚本文件dbstart,将ORACLE_HOME_LISTNER=1修改成ORACLEHOMELIS...
2020-02-03 13:47:06 390
原创 CentOS6安装Oracle11g(2)——详细安装步骤
CentOS6安装Oracle11g(2)——详细安装步骤接着上一篇文章【CentOS6安装Oracle11g(1)——安装前的准备工作】继续进行以下安装步骤:一、上传并解压缩Oracle安装文件1、上传Oracle安装文件到/tmp目录。(1)linux.x64_11gR2_database_1of2.zip(2)linux.x64_11gR2_database_2of2.zip2、...
2020-02-02 22:38:52 764
原创 CentOS6安装Oracle11g(1)——安装前的准备工作
CentOS6安装Oracle11g(1)——安装前的准备工作安装Oracle11g之前首先需要查看计算机是否满足硬件最低要求(内存,交换空间,硬盘空间等)。然后关闭防火墙,配置selinux,主机名等。一、查看安装环境1、安装包(1)linux.x64_11gR2_database_1of2.zip(2)linux.x64_11gR2_database_2of2.zip2、操作系统...
2020-02-02 18:23:06 624
原创 解决CentOS sqlplus退格键无法使用问题
解决CentOS sqlplus退格键无法使用问题在使用xshell连接CentOS进入SQLPLUS进行操作时,无法使用退格键删除(显示“H”),按删除键显示“[[3~”。下载并且安装软件readline和rlwrap,重启系统可以解决问题。一、下载并安装readline1、下载readline-6.2.tar.gz文件[root@wgx soft]# wget ftp://ftp.gn...
2020-02-02 18:16:08 965 1
原创 查看Linux系统版本的命令总结
查看Linux系统版本的命令总结在Linux操作系统中安装软件时需要了解系统的版本信息,现对查看操作系统版本的相关命令总结如下:1、查看当前操作系统发行版本信息(1)cat /etc/redhat-release命令[root@wgx proc]# cat /etc/redhat-releaseCentOS release 6.10 (Final)(2)cat /etc/issue命...
2020-02-01 13:29:17 756
安装oracle ASM所需的系统包:oracleasmlib、oracleasm-support
2021-09-02
安装oracle ASM所需的系统包:oracleasmlib、oracleasm-support
2021-09-02
mysql-community-source.repo
2019-11-03
mysql-community.repo
2019-11-03
安装Oracle11g grid遇到如下问题,请哪位大神指点一下!
2021-06-01
Linux环境安装oracle11g出现下述错误信息。
2020-01-19
TA创建的收藏夹 TA关注的收藏夹
TA关注的人