
数据库
文章平均质量分 81
象在舞
谁说大象不能跳舞!
展开
-
Oracle中的序列(Sequence)
1、什么是序列 序列(SEQUENCE)是序列号生成器,可以为表中的行自动生成序列号,产生一组等间隔的数值(类型为数字)。不占用磁盘空间,占用内存。其主要用途是生成表的主键值,可以在插入语句中引用,也可以通过查询检查当前值,或使序列增至下一个值。2、序列的创建 创建序列需要CREATE SEQUENCE系统权限。序列的创建语法如下:CREATE SEQUENCE 序列名 [INCREMENT BY n] [START WITH n] [{MAXVA...原创 2021-07-19 18:43:07 · 4692 阅读 · 0 评论 -
Oracle中的触发器(trigger)
1、触发器的定义 数据库触发器是一个与表相关联、存储PL/SQL语句的“东西”。每当一个特定的数据操作语句(insert、update、delete)在指定的表上发出时,Oracle自动执行触发器中定义的语句序列。例如:当员工信息插入后,自动输出“插入成功”的信息。create or replace trigger empTrigger after insert on emp for each rowdeclare -- 这里存放本地变量begin dbms_outpu...原创 2021-07-19 17:05:07 · 5508 阅读 · 5 评论 -
【Oracle】 ORA-01791: 不是 SELECTed 表达式
【问题描述】 今天执行SQL的时候出现了如下错误:ORA-01791: 不是 SELECTed 表达式 执行的SQL语句如下:SELECT DISTINCT A.GFMC, A.GFSBH, A.DZDH, A.XFMC, A.XFSBH FROM PD_NCP_GHRJCB A ORDER BY A.GFMC, A.JE DESC;...原创 2020-03-11 22:21:05 · 729 阅读 · 0 评论 -
Oracle存储过程中包的使用举例
一、创建测试表--创建测试表create table pes(ID number(10),NAME varchar2(20),pwd varchar2(20),TYPE VARCHAR(20)); insert into pes values(1,'xzw','888','Y');insert into pes values(1,'Eric','888','Y');insert i...原创 2018-10-17 15:51:59 · 771 阅读 · 0 评论 -
Oracle存储过程的简单举例
一、建立测试数据--建立测试数据:create table person(编号 number(10),姓名 varchar2(20),密码 varchar2(20));insert into person values(1,'xzw','888');select * from person;查询结果如下:二、建立存储过程--建立存储过程:create or re...原创 2018-10-17 14:47:13 · 5342 阅读 · 2 评论 -
Oracle数据库中的方差、标准差与协方差
一、方差与标准差/*STDDEV()函数功能描述:计算当前行关于组的标准偏离。(Standard Deviation)STDDEV_SAMP()函数功能描述:该函数计算累积样本标准偏离,并返回总体变量的平方根,其返回值与VAR_POP函数的平方根相同。区别:当计算的输入数据只有一行时,stddev()返回0,而stddev_samp()返回null。*/--例子:SELECT de...原创 2018-06-26 16:24:13 · 7498 阅读 · 0 评论 -
Hive与Oracle之间利用Sqoop进行数据的导入导出
近期在工作中遇到了Hive与Oracle之间数据导入导出的问题,故整理如下,以供需要者参考。一、Oracle数据导入到Hive中/usr/bin/sqoop import \--connect jdbc:oracle:thin:@72.*.*.185:1521:dbcxj2 \--username name --password pw \--table tableName \-...原创 2018-05-07 20:26:29 · 1578 阅读 · 10 评论 -
MySQL查询优化的经验
近期在处理千万级以上的大数据量的数据时,MySQL出现了耗时长的弊病,本人通过搜集资料,把找到的优化SQL的经验总结如下,希望对各位有所帮助~1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id fr...原创 2018-04-09 10:31:36 · 298 阅读 · 0 评论 -
Oracle和MySQL中通用的字符串截取函数——substr()
字符串的截取是SQL语句中很常见的一种操作,Oracle和MySQL的字符串在字符串的截取上还是有一点区别的,Oracle中的字符串截取函数为substr(),而MySQL中的字符串截取函数可以为substr()和substring()。显然,不管Oracle还是MySQL中,对于substr()都是通用的。substr()函数的语法格式为:(1)substr(expr1,e...原创 2018-03-31 11:44:56 · 2539 阅读 · 0 评论 -
Oracle日期常用函数(SYSDATE)
SYSDATE函数可以得到目前系统的时间,例如:select sysdate from dual;SYSDATE函数常用的格式举例如下:--加法 select sysdate,add_months(sysdate,12) from dual; --加1年 select sysdate,add_months(sysdate,1) from dual; --加1月 select sysdate,...原创 2018-03-26 09:57:28 · 67868 阅读 · 1 评论 -
MySQL中的IFNULL函数和IF函数
MySQL中的IFNULL函数类似于Oracle中的NVL函数,其表达式为:IFNULL(expr1,expr2),含义是:如果第一个参数不为空,则返回第一个参数,否则返回第二个参数。 IF(expr1,expr2,expr3)类似于Oracle中的NVL2函数,含义是:如果第一个表达式的值为TRUE(不为0或null),则返回第二个参数的值,否则返回第三个参数的值。...原创 2018-03-22 19:42:28 · 37600 阅读 · 1 评论 -
Oracle中的NVL函数、NVL2函数和NULLIF函数
一、NVL函数的格式如下: NVL(expr1,expr2),含义是:如果Oracle中第一个参数的值为空,那么显示第二个参数的值,如果第一个参数不为空,则显示第一个参数的值。二、NVL2函数的格式如下:NVL2(expr1,expr2,expr3),含义是:如果Oracle中第一个参数的值为空,那么显示第二个参数的值,如果第一个参数的值不为空,那么显示第三个参数的值。三、NULLIF...原创 2018-03-22 19:34:15 · 3621 阅读 · 0 评论 -
MySQL、Oracle中的abs()函数
不管是MySQL还是Oracle,它们中的abs()函数用法都是一样的,以Oracle举例,如下:SELECT ABS(-10) FROM student; MySQL中的abs()函数也是一样的用法~原创 2018-03-19 17:36:57 · 5823 阅读 · 0 评论 -
Linux下安装MySQL
这篇文章主要讲解Linux下如何安装MySQL。一、首先卸载自带的MySQL数据库查询:# rpm -qa | grep mysql卸载:# rpm -e mysql-libs-5.1.71-1.el6.x86_64 --nodeps这里我已经卸载了。二、通过yum安装MySQL# yum install -y mysql-server mysql mysql-devel三、启动MySQL...原创 2018-03-11 20:56:18 · 367 阅读 · 0 评论 -
Oracle中to_Char的用法
最近用Oracle比较多,今天遇到了to_Char这个函数,简单总结一下to_Char的用法,希望对大家有所帮助。一、下图是to_Char函数的几个例子二、下图是to_Char函数用于将日期转换为字符串时的有效参数列表,这些参数可以在许多情况下使用三、下图是to_Char函数的日期示例四、在一些例子中,format_mask参数以FM开头,这意味着没有零和空格,下图展示了一些例子通过上...翻译 2018-03-08 16:44:44 · 18836 阅读 · 0 评论 -
Oracle、MySQL取前10条数据比较
最近因为工作原因需要使用Oracle数据库进行操作,Oracle跟MySQL在某些函数上还是存在着一定差异的。这里以“取前10条数据”为例进行说明。MySQL取前10条数据:SELECT * FROM tableA LIMIT 10;Oracle取前10条数据:SELECT * FROM tableA WHERE rownum < 11;...原创 2018-03-08 10:49:56 · 7463 阅读 · 0 评论 -
数据库存储过程
【存储过程的概念】 存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集。经编译后存储在数据库中。存储过程是数据库中的一个重要对象,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是由流控制和 SQL语句书写的过程,这个过程经编译和优化后存储在数据库服务器中。存储过程可由应用程序通过一个调用来执行,而且允许用户声明变量。同原创 2017-09-20 17:20:58 · 3030 阅读 · 0 评论