pl/sql块数据类型

来源:互联网 发布:js实现扑克牌自动洗牌 编辑:程序博客网 时间:2024/05/21 10:48

标准数据类型

VARCHAR2()         --改变长度

NUMBER(精度,小数) --长度

DATE               --日期类型

CHAR(长度)         --固定的长度 长度不够用空格代替

TIMESTAMP          --日期类型自动补齐时间

LONG               --变长字符串的数据类型

BOOLEAN            --TRUE、FALSE、NULL

BINARY_INTEGER     --附加的数据类型

PLS_INTEGER        --附加的数据类型 没上面快

NATURAL            --BINARY的子类 表示从0开始的自然数

NATURALN           --与NATURAL一样,但是要求变量值不能为NULL

POSITIVE           --BINARY的子类 正整数

POSITIVEN          --与POSITVE一样但是不能为null

REAL               -- 18位精度的浮点数

INT,INTEGER,SMALLINT--NUMBERDE的子类型,38位精度整数

SIGNTYPE           --附加数据类型 值有1、-1、0

STRING             --与VARCHAR2相同

四、属性数据类型

一、行类型:

 

 %ROWTYPE          --引用数据的一行作为数据类型

 

DECLARE

  myemp emp%ROWTYPE;--引用emp行作为数据类型

BEGIN

  SELECT * INTO myemp FROM emp WHERE rownum=1; --emp表的一行数据插入到行变量myemp

  dbms_output.put_line(myemp.ename); --输出时要选择输出的列

END;

 

二、列类型:

1%type                    --引用某个变量或者列类型作为某变量的数据类型

 

DECLARE

  myemp emp.ename%type;--声明一个列对象或者某个变量的对象

BEGIN

  SELECT ename INTO myemp FROM emp WHERE rownum=1;--返回一列插入到ename

  dbms_output.put_line(myemp);

END

2、实例

DECLARE

sall emp.sal%TYPE;

mysal number(4):=3000--创建类型并赋值3000 注意:如果这里没有赋值则totalsanull,数字加上null等于null

totalsa mysal%TYPE;   --使用mysal的类型

BEGIN

SELECT sal INTO sall from emp where rownum=1--将emp表 empno=12的人的sal插入到变量sal中去

totalsa:=sall+mysal;                         --变量sal加上变量mysal   

dbms_output.put_line(totalsa);              --输出变量totalsal的值

dbms_output.put_line(sall);  

END;

 

三、定义由列组成的类型

 1、语法:type 类型名 is record(变量 类型)

declare

  type myrec is record(   --将所有的列类型合成到一起组成的类型 不能放行类型

  name emp.ename%type,

  sal emp.sal%type

      

 );

 rec myrec;--声明一个变量 给其组成的类型

begin

  select ename,sal into rec from emp where rownum=1; --按顺序插入

  dbms_output.put_line(rec.name);

  dbms_output.put_line(rec.sal);

end;

0 0
原创粉丝点击