热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Oracle中Binary_Integer与Pls_Integer的区别

Binary_Integer与Pls_Integer都是整型类型.Binary_Integer类型变量值计算是由Oracle来执行,不会出现溢出,但是执行速度较慢,因为它是由Oracle模拟执

Binary_Integer 与 Pls_Integer 都是整型型. Binary_Integer值计算是由Oracle来行,不会出溢出,但是行速度慢,因它是由Oracle模拟执行。Pls_Integer行是由硬件即直接由CPU来运算,因而会出溢出,但其行速度前者快多。

一、概述

  在ORACLE8中定了:量(SCALAR)、合(COMPOSITE)、引用(REFERENCE)和LOB四数据型,下面详细的特性。

  二、(SCALAR)

  合法的型与数据的列所使用的型相同,此外它有一些展。它又分七个:数字、字符、行、日期、行标识、布和可信。

  数字,它有三基本--NUMBERPLS_INTEGERBINARY_INTENERNUMBER可以描述整数或数,而PLS_INTEGERBINARY_INTENER只能描述整数。

  NUMBER,是以十制格式行存的,它便于存,但是在算上,系会自的将它转换行运算的。它的定方式是NUMBER(PS)P是精度,最大38位,S是刻度范,可在-84...127。例如:NUMBER(52)可以用来存表示-999.99...999.99的数PS可以在定是省略,例如:NUMBER(5)NUMBER;

  BINARY_INTENER用来描述不存在数据中,但是需要用来算的符号的整数。它以2补码制形式表述。循环计数器常使用这种类型。

  PLS_INTEGERBINARY_INTENER唯一区是在算当中生溢出BINARY_INTENER型的量会被自指派一个NUMBER型而不会出PLS_INTEGER型的量将会错误

  字符,包括CHARVARCHAR2(VARCHAR)LONGNCHARNVARCHAR2种类型。

  CHAR,描述定的字符串,如果实际值度,系将以空格填充。它的声明方式如下CHAR(L)L字符串度,缺省1,作为变量最大32767个字符,作数据存ORACLE8中最大2000

  VARCHAR2(VARCHAR),描述变长字符串。它的声明方式如下VARCHAR2(L)L字符串度,没有缺省,作为变量最大32767个字,作数据存ORACLE8中最大4000。在多字节语境中,实际的字符个数可能小于L,例如:当中文(SIMPLIFIED CHINESE_CHINA.ZHS16GBK),一个VARCHAR2(200)的数据列可以保存200个英文字符或者100字字符。

  LONG,在数据中可以用来保存高达2G的数据,作为变量,可以表示一个最大32760的可字符串。

  NCHARNVARCHAR2,国家字符集,与NLS指定的言集密切相,使用方法和CHARVARCHAR2相同。

  行,包括RAWLONG RAW种类型。用来存制数据,不会在字符集间转换

  RAW似于CHAR,声明方式RAW(L)L为长度,以字节为单位,作数据列最大2000,作为变量最大32767

  LONG RAW似于LONG,作数据列最大存2G的数据,作为变量最大32760

  日期,只有一种类--DATE,用来存储时间信息,站用7个字(从世到秒)绝对没有千年虫问题

  行标识,只有一种类--ROWID,用来存标识,可以利用ROWIDTOCHAR函数来将行标识转换字符。

  布,只有一种类--BOOLEAN仅仅可以表示TRUEFALSE或者NULL

  可信,只有一种类--MLSLABEL,可以在TRUSTED ORACLE中用来保存可变长度的二标签。在ORACLE中,只能存NULL

三、(COMPOSITE)

  型是经过预的,利用型可以衍生出一些型。主要有记录、表。

  记录,可以看作是一组标量的构,它的声明方式如下:

  TYPE record_type_name IS RECORD

  ( filed1 type1 [NOT NULL] [:=expr1]

  .......

  filedn typen [NOT NULL] [:=exprn] )

  其中,record_type_name是记录类型的名字。(是不是看着象CREATE TABLE?......)引用量,记录只是TYPE,不是VARIABLE。

  表,不是物理存数据的表,在里是一种变型,也称PL/SQL表,它似于C言中的数,在理方式上也相似。它的声明方式如下:

  TYPE table_type_name IS TABLE OF scalar_type INDEX BY BINARY_INTENER;

  其中,table_type_name型的名字,scalar_type是一种标型的型声明。引用也必量。表和数不同,表有两列,KEYVALUEKEY就是定义时声明的BINARY_INTENERVALUE就是定义时声明的scalar_type

  除了记录和表之外,型、集合(嵌套表和VARRAYS)型,些将专门讲解。

  四、引用(REFERENCE)

  在PL/SQL8.0之前,只有一种类--REF CURSOR,也就是游。它的定义较为简单

  CURSOR cursor_name IS select .....from.....;

  在PL/SQL8.0之后,引入了REF型,它指向一个象。这种类型将解。(等我弄明白再,免得在高人面前......)

五、LOB

  LOB量主要是用来存大量数据的数据字段,最大可以存4G的内容(这么大,存VCD?,浪!)。主要有:

  CLOB:和ORACLE7中的LONG型相似,存储单字符数据。(用来存中文喔。。。)

  NCLOB:用来存多字字符数据。(例如:存《傲江湖》就挺好)

  BLOB:和LONG RAW相似,用来存构的二制数据。

  BFILE:它用来允ORACLE数据外存的大型二制文本行只形式的访问

  六、其他

  其在完成对标量的理解之后,基本上可以C/S模式下的常数据库应用所需了,后说实话,我玩了5ORACLE,都很少用到。


推荐阅读
  • 在Oracle11g以前版本中的的DataGuard物理备用数据库,可以以只读的方式打开数据库,但此时MediaRecovery利用日志进行数据同步的过 ... [详细]
  • 本文介绍了Oracle存储过程的基本语法和写法示例,同时还介绍了已命名的系统异常的产生原因。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • Java String与StringBuffer的区别及其应用场景
    本文主要介绍了Java中String和StringBuffer的区别,String是不可变的,而StringBuffer是可变的。StringBuffer在进行字符串处理时不生成新的对象,内存使用上要优于String类。因此,在需要频繁对字符串进行修改的情况下,使用StringBuffer更加适合。同时,文章还介绍了String和StringBuffer的应用场景。 ... [详细]
  • 高质量SQL书写的30条建议
    本文提供了30条关于优化SQL的建议,包括避免使用select *,使用具体字段,以及使用limit 1等。这些建议是基于实际开发经验总结出来的,旨在帮助读者优化SQL查询。 ... [详细]
  • Python SQLAlchemy库的使用方法详解
    本文详细介绍了Python中使用SQLAlchemy库的方法。首先对SQLAlchemy进行了简介,包括其定义、适用的数据库类型等。然后讨论了SQLAlchemy提供的两种主要使用模式,即SQL表达式语言和ORM。针对不同的需求,给出了选择哪种模式的建议。最后,介绍了连接数据库的方法,包括创建SQLAlchemy引擎和执行SQL语句的接口。 ... [详细]
  • 从Oracle安全移植到国产达梦数据库的DBA实践与攻略
    随着我国对信息安全和自主可控技术的重视,国产数据库在党政机关、军队和大型央企等行业中得到了快速应用。本文介绍了如何降低从Oracle到国产达梦数据库的技术门槛,保障用户现有业务系统投资。具体包括分析待移植系统、确定移植对象、数据迁移、PL/SQL移植、校验移植结果以及应用系统的测试和优化等步骤。同时提供了移植攻略,包括待移植系统分析和准备移植环境的方法。通过本文的实践与攻略,DBA可以更好地完成Oracle安全移植到国产达梦数据库的工作。 ... [详细]
  • MySQL数据库锁机制及其应用(数据库锁的概念)
    本文介绍了MySQL数据库锁机制及其应用。数据库锁是计算机协调多个进程或线程并发访问某一资源的机制,在数据库中,数据是一种供许多用户共享的资源,如何保证数据并发访问的一致性和有效性是数据库必须解决的问题。MySQL的锁机制相对简单,不同的存储引擎支持不同的锁机制,主要包括表级锁、行级锁和页面锁。本文详细介绍了MySQL表级锁的锁模式和特点,以及行级锁和页面锁的特点和应用场景。同时还讨论了锁冲突对数据库并发访问性能的影响。 ... [详细]
  • 本文讨论了在数据库打开和关闭状态下,重新命名或移动数据文件和日志文件的情况。针对性能和维护原因,需要将数据库文件移动到不同的磁盘上或重新分配到新的磁盘上的情况,以及在操作系统级别移动或重命名数据文件但未在数据库层进行重命名导致报错的情况。通过三个方面进行讨论。 ... [详细]
  • Oracle10g备份导入的方法及注意事项
    本文介绍了使用Oracle10g进行备份导入的方法及相关注意事项,同时还介绍了2019年独角兽企业重金招聘Python工程师的标准。内容包括导出exp命令、删用户、创建数据库、授权等操作,以及导入imp命令的使用。详细介绍了导入时的参数设置,如full、ignore、buffer、commit、feedback等。转载来源于https://my.oschina.net/u/1767754/blog/377593。 ... [详细]
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • Oracle seg,V$TEMPSEG_USAGE与Oracle排序的关系及使用方法
    本文介绍了Oracle seg,V$TEMPSEG_USAGE与Oracle排序之间的关系,V$TEMPSEG_USAGE是V_$SORT_USAGE的同义词,通过查询dba_objects和dba_synonyms视图可以了解到它们的详细信息。同时,还探讨了V$TEMPSEG_USAGE的使用方法。 ... [详细]
  • Oracle优化新常态的五大禁止及其性能隐患
    本文介绍了Oracle优化新常态中的五大禁止措施,包括禁止外键、禁止视图、禁止触发器、禁止存储过程和禁止JOB,并分析了这些禁止措施可能带来的性能隐患。文章还讨论了这些禁止措施在C/S架构和B/S架构中的不同应用情况,并提出了解决方案。 ... [详细]
  • 本文介绍了一个误删Oracle数据文件导致数据库无法打开的问题,并提供了解决方式。解决方式包括切换到mount状态、离线删除报错的数据文件等。 ... [详细]
  • soatest新建db工具,执行sql语句的步骤和注意事项
    本文介绍了在soatest中新建db工具并执行sql语句的步骤和注意事项,包括设置数据库连接参数、使用配置文件的方法编写sql查询语句、增加oracle驱动连接jar包、运行测试用例以及查看查询结果。详细说明了每个步骤的操作和相关注意事项。 ... [详细]
author-avatar
夏石兵
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有