
oracle
波波仔86
生活与技术并发!
展开
-
Oracle中用户(user)、模式(schema)、表空间(tablespace)的概念
Oracle数据库是开发中最常用的数据库之一,在使用过程中有几个常见概念,记录如下。 用户(user) user在Oracle中的主要是用于身份验证,权限分配的一个标识。在连接数据库和操作数据库对象时就是通过用户进行身份和权限的验证。 模式(schema) Oracle中的schema是若干个数据库对象的集合,用于管理数据库中的各种对象,这里的对象包括:表、视图、存过、序列、索引等等。一个schema下包括若干个表、视图、存过等对象。 表空间(tablespace) 数转载 2020-11-26 23:00:19 · 3106 阅读 · 0 评论 -
Navicat for oracle创建数据库
前言其实在Oracle中的概念并不是创建数据库,而是创建一个表空间,然后再创建一个用户,设置该用户的默认表空间为我们新创建的表空间,这些操作之后,便和你之前用过的mysql数据库创建完数据库一模一样了(如果你用过mysql的话,当然如果Oracle是你用的第一个数据库系统,那上面这段话其实看不看并不重要)。但是,鉴于很多用过mysql的用户,在刚开始使用Oracle的时候都会不知道如何创建数据库,觉得很茫然,然后开始百度、优快云一通搜索“Oracle如何创建数据库”,所以笔者把本文的题目写成“Nav转载 2020-11-26 22:28:26 · 5414 阅读 · 1 评论 -
CURRENT_TIMESTAMP函数精度
这段时间在做数据库兼容的测试,把mysql迁移道达梦数据库,然后又从达梦迁移到oracle数据库,搞得头都大了。。。。在迁移的过程中遇到一个时间类型问题:mysql的timestamp字段默认值设置为current_timestamp类型,这个类型在这个数据库之间迁移,报了精度超出范围,查看了阿里的OceanBase的current_timestamp函数详解,对精度的解释如下,参考着能够解决这个问题,记录如下:CURRENT_TIMESTAMP函数返回TIMESTAMP WITH...原创 2020-07-08 22:47:11 · 4378 阅读 · 0 评论 -
Oracle 12c创建用户时为什么要在用户名前加”C##“?
Oracle 12C引入了CDB与PDB的新特性,在ORACLE 12C数据库引入的多租用户环境(Multitenant Environment)中,允许一个数据库容器(CDB)承载多个可插拔数据库(PDB)。CDB全称为Container Database,中文翻译为数据库容器,PDB全称为Pluggable Database,即可插拔数据库。在ORACLE 12C之前,实例与数据库是一对一或多对一关系(RAC):即一个实例只能与一个数据库相关联,数据库可以被多个实例所加载。而实例与数据...转载 2020-07-08 22:08:29 · 2333 阅读 · 0 评论 -
oracle中的blob类型,clob类型,nclob类型主要区别是什么
1、BLOB全称为二进制大型对象(Binary Large Object)。它用于存储数据库中的大型二进制对象。可存储的最大大小为4G字节2、CLOB CLOB全称为字符大型对象(Character Large Object)。它与LONG数据类型类似,只不过CLOB用于存储数据库中的大型单字节字符数据块,不支持宽度不等的字符集。可存储的最大大小为4G字节3、NCLOB 基于国家语言字符集的NCLOB数据类型用于存储数据库中的固定宽度单字节或多字节字符的大型数据块,不支持宽度不等的字符集。可存储的最转载 2020-06-18 22:41:20 · 4161 阅读 · 1 评论 -
ORACLE 不支持不等于空字符串
之前的应用一直是连接DB2数据库,DB2对空和空字符串的识别是不相等的,如:-- FALSESELECT 1 FROM DUAL WHERE '' IS NULL; -- TRUESELECT 1 FROM DUAL WHERE '' IS NOT NULL; -- 注意:NULL 不能用 =、!=、<> 进行比较,只能用 IS、IS NOT 进行比较是没返回记录的,所以在写过滤空字段时要将空和空字符串都过滤掉,一般是这样写SELECT 1 FROM 表名 WHERE 字转载 2020-06-08 23:15:39 · 3685 阅读 · 0 评论 -
mysql varchar vs oracle varchar2 nvarchar2
mysql和oracle做数据同步。其中表的一个字段在mysql中设置为varchar(6),Oracle中为varchar2(6),但mysql中能正常存放的数据同步到oracle中却抱ORA-12899: value too large for column错误。这是为什么呢?mysql中varchar(6)代表可以存放6个汉字,6个字母,或6个数字。oracle中varchar2(6)代表可以中存放6个字节。即oracle中varchar2的长度代表字节数而不是字符数。mysql中一个汉字占三个字原创 2020-06-01 22:22:32 · 952 阅读 · 0 评论 -
Oracle中varchar,varchar2,nvarchar,nvarchar2的区别及其它数据类型描述
--varchar,varchar2联系:1.varchar/varchar2用于存储可变长度的字符串比如varchar(20),存入字符串'abc',则数据库中该字段只占3个字节,而不是20个字节2.size 的最大值是 4000,而最小值是 1,其值表示字节数,比如varchar(20)表示最大可以存放20个字节的内容区别:1.varchar2把所有字符都占两字节处...转载 2020-04-27 21:34:40 · 1638 阅读 · 0 评论 -
SQL语句结尾处多加了一个分号,导致出现 ------ORA-00911: 无效字符---错误
String sql = "select * from (select USER_ID,USER_NAME,FACEADDRESS,rownum as no FROM ((SELECT STUDENT_ID USER_ID,STUDENT_NAME USER_NAME,FACEADDRESS FROM XTGL_STUDENT WHERE student_name LIKE ? OR STUDEN...转载 2020-04-26 09:43:13 · 1715 阅读 · 0 评论 -
Oracle:函数concat()在Oracle和Mysql下区别
函数concat()作用:链接字符串区别: 1-Oracle中:CONCAT()只允许两个参数; 2-Mysql种:CONCAT()可以连接多个参数示例:mysqlselect * from S_MAINTAIN_CATEGORY a where "del_flag"=0 and "name" like concat('%','客户')order by "typ...转载 2020-04-23 21:17:26 · 1272 阅读 · 1 评论 -
在UTF-8中,一个汉字为什么需要三个字节?
UNICODE是万能编码,包含了所有符号的编码,它规定了所有符号在计算机底层的二进制的表示顺序。有关Unicode为什么会出现就不叙述了,Unicode是针对所有计算机的使用者定义一套统一的编码规范,这样计算机使用者就避免了编码转换的问题。 Unicode定义了所有符号的二进制形式,也就是符号如何在计算机内部存储的,而且每个符号规定都必须使用两个字节来表示...转载 2020-04-19 20:45:49 · 2314 阅读 · 0 评论 -
sql中别名as,不写,以及使用双引号总结
1.使用别名:不写和 使用as 是没有区别的。如:select id investorid from cif.cif_investor和 select id as investorid from cif.cif_investor是没有区别的2.使用双引号与不使用双引号的区别双引号:会将别名解析成双引号里的内容,不使用双引号的话,即使别名全部命名成...转载 2020-04-18 09:39:16 · 3175 阅读 · 0 评论 -
在Oracle里,表的别名不能用as,列的别名可以用as
在Oracle里,表的别名不能用as,列的别名可以用as列的别名也可以不用as,如:select t.a xxx from table t在Oracle数据库中,数据表别名是不能加as的,例如: select a.appname from appinfo a;-- 正确 select a.appname from appinfo as a;-- 错误注释:这可能是为了防...转载 2020-04-17 11:17:44 · 2359 阅读 · 0 评论