ITPub博客

首页 > 数据库 > Oracle > PLSQL Language Reference-PL/SQL数据类型-SQL数据类型-用户定义的PL/SQL子类型

PLSQL Language Reference-PL/SQL数据类型-SQL数据类型-用户定义的PL/SQL子类型

原创 Oracle 作者:luisedalian 时间:2014-03-09 17:23:37 0 删除 编辑

用户定义的PL/SQL子类型

PL/SQL允许定义自己的子类型,基类型可以是任何PL/SQL scalar类型,包含先定义的用户定义的子类型。

子类型可以:

n  提供对ANSI/ISO类型的兼容

n  显示该种类型的数据成员的预期用途(problem)

n  检测超范围的值

0.1.1 无限制的子类型

无限制的子类型与基类型具有的相同的值的集合,所以它只是基类型的另一个名称。因此同一基类型的各个无限制子类型以及基类型之间可以互相转换,且没有数据类型转换发生。

SUBTYPE 子类型名称 IS 基类型名称;

 

PL/SQL中预定义的无限制的子类型的一个例子,是为了兼容ANSI而定义了:

SUBTYPE "DOUBLE PRECISION" IS FLOAT;

 


 

--给正常类型一个别名,不是什么好习惯

DECLARE

    SUBTYPE Balance IS NUMBER;

 

    checking_account        Balance(6,2);

    savings_account         Balance(8,2);

    certificate_of_deposit  Balance(8,2);

    max_insured  CONSTANT   Balance(8,2) := 250000.00;

 

    SUBTYPE Counter IS NATURAL;

 

    accounts     Counter := 1;

    deposits     Counter := 0;

    withdrawals  Counter := 0;

    overdrafts   Counter := 0;

 

    PROCEDURE deposit (

        account  IN OUT Balance,

        amount   IN     Balance

    )

    IS

    BEGIN

        account  := account + amount;

        deposits := deposits + 1;

    END; 

BEGIN

    NULL;

END;

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/17013648/viewspace-1104105/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2012-02-06

  • 博文量
    1986
  • 访问量
    6043830