oracle 10g的数据类型
☆数据类型
定义了:标量(SCALAR)、复合(COMPOSITE)、引用(REFERENCE)和LOB
四种数据类型
☆标量(SCALAR)
合法的标量类型与数据库的列所使用的类型相同,此外它还有一些扩展。它又分为七个组:数字、字符、行、日期、行标识、布尔和可信。
☆数字
数字,它有三种基本类型
--
NUMBER、PLS_INTEGER和BINARY_INTENER
。NUMBER可以描述整数或实数,而PLS_INTEGER和BINARY_INTENER只能描述整数。
NUMBER,是以十进制格式进行存储的,它便于存储,但是在计算上,系统会自动的将它转换成为二进制进行运算的。它的定义方式是NUMBER(P,S),P是精度,最大38位,S是刻度范围,可在
-
84
127间取值。例如:NUMBER(
5
,
2
)可以用来存储表示
-
999.99
999
.99间的数值。P、S可以在定义是省略,例如:NUMBER(
5
)、NUMBER等;
BINARY_INTENER用来描述不存储在数据库中,但是需要用来计算的带符号的整数值。它以2的补码二进制形式表述。循环计数器经常使用这种类型。
PLS_INTEGER和BINARY_INTENER唯一区别是在计算当中发生溢出时,BINARY_INTENER型的变量会被自动指派给一个NUMBER型而不会出错,PLS_INTEGER型的变量将会发生错误。
☆Number补充
在Oracle中Number类型可以用来存储0,正负定点或者浮点数,可表示的数据范围在
1.0
*
10
(
-
130
) ——
9.9
9
*
10
(
125
) {38个9后边带88个0} 的数字,当Oracle中的数学表达式的值
>=
1.0
*
10
(
126
)时,Oracle就会报错。
Number的数据声明如下:
1
)Number(p, s) 声明一个定点数 p(precision)为精度,s(scale)表示小数点右边的数字个数,精度最大值为38,scale的取值范围为
-
84到127
2
)Number(p) 声明一个整数 相当于Number(p,
0
)
3
)Number 声明一个浮点数 其精度为38,要注意的是scale的值没有应用,也就是说scale的指不能简单的理解为0,或者其他的数。
定点数的精度(p)和刻度(s)遵循以下规则:
相关文档:
什么是合并多行字符串(连接字符串)呢,例如:
SQL> desc test;
Name Type Nullable Default Comments
------- ------------ -------- ------- --------
COUNTRY VARCHAR2(20) Y &nb ......
/*主要是为了看清连接逻辑,所以把异常Exception*/
import java.sql.*;
public class TestJDBC {
public static void main(String[] args) throws Exception {
ResultSet rs = null;
Statement stmt = null;
......
Oracle用户、权限、角色管理
Oracle 权限设置
一、权限分类:
系统权限:系统规定用户使用数据库的权限。(系统权限是对用户而言)。
实体权限:某种权限用户对其它用户的表或视图的存取权限。(是针对表或视图而言的)。
二、系统权限管理:
1、系统权限分类:
DBA: 拥有全部特权,是系统最高权限,只有DBA才可以创 ......
Oracle存储过程包含三部分:过程声明,执行过程部分,存储过程异常。
Oracle存储过程可以有无参数存储过程和带参数存储过程。
一、无参程序过程语法
1 create or replace procedure NoParPro
2 as ;
3 begin
4 ;
5 exception &nb ......
今天写有关Oracle中函数与触发器的内容,在数据库中定义并使用存储过程、函数、触发器,可以提高用户访问数据库的效率。
数据库中函数包含四个部分:声明、返回值、函数体和异常处理。
1 create or replace function getname(sno varchar2 )
2 &nbs ......