PLSQL Language Reference-PL/SQL資料型別-SQL資料型別-有限制的子型別
0.1.1 有限制的子型別
有限制的子型別擁有它的基型別的值的子集。
如果基型別允許設定size、precision、scale、range,則可以將這些指定給子型別。
SUBTYPE 子型別 IS 基型別 { precision [, scale ] | RANGE 最小值 .. 最大值 } [ NOT NULL ] |
除此之外,允許為子型別設定的唯一的約束就是NOT NULL。
注意:唯一可以指定值域的基型別是PLS_INTEGER和它的子型別(預定義的和使用者定義的)
--檢測到超出範圍的值 DECLARE SUBTYPE Balance IS NUMBER(8,2); checking_account Balance; savings_account Balance;
BEGIN checking_account := 2000.00; savings_account := 1000000.00;
END;
|
受約束的子型別可以被隱式地轉換為它的基型別,但基型別只能當它的值不違背子型別的約束時,才能被隱式地轉換為子型別。
DECLARE SUBTYPE Digit IS PLS_INTEGER RANGE 0..9; SUBTYPE Double_digit IS PLS_INTEGER RANGE 10..99; SUBTYPE Under_100 IS PLS_INTEGER RANGE 0..99;
d Digit := 4; dd Double_digit := 35; u Under_100; BEGIN u := d; -- 成功, Under_100的範圍包括Digit u := dd; -- 成功, Under_100的範圍包括Double_digit dd := d; -- 超範圍了
END;
|
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/17013648/viewspace-1104106/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- SQL 資料型別SQL資料型別
- 【SQL】18 SQL NULL 函式、SQL 通用資料型別、SQL 用於各種資料庫的資料型別SQLNull函式資料型別資料庫
- SQL 常見資料型別SQL資料型別
- SQL Server-資料型別SQLServer資料型別
- 資料型別: 資料型別有哪些?資料型別
- SQL教程——常見的資料型別SQL資料型別
- sql學習(mysql)(1)資料型別MySql資料型別
- js資料型別之基本資料型別和引用資料型別JS資料型別
- SQL Server日期資料型別DATE的使用SQLServer資料型別
- 區別值型別資料和引用型別資料型別
- 資料型別,型別轉換資料型別
- sql server 資料型別轉換函式SQLServer資料型別函式
- 基本資料型別與字串型別資料型別字串
- 資料型別資料型別
- 關於Sql server資料型別HierarchyID 資料型別用法和遞迴顯示完整路徑SQLServer資料型別遞迴
- Java中的基本資料型別與引用資料型別Java資料型別
- JAVA中基本資料型別和引用資料型別Java資料型別
- 3. php資料型別、資料型別轉換PHP資料型別
- JavaScript有哪些資料型別?JavaScript資料型別
- Oracle資料型別對應Java型別Oracle資料型別Java
- Mysql 資料型別之整數型別MySQL 資料型別
- Java資料型別及型別轉換Java資料型別
- TS資料型別:型別別名/聯合型別/字面量型別/型別推論等綱要資料型別
- 資料型別是什麼?Python的資料型別又有哪些?資料型別Python
- MySQL基礎之----資料型別篇(常用資料型別)MySql資料型別
- go資料型別識別Go資料型別
- SQL SERVER與C#的資料型別對應表SQLServerC#資料型別
- 基本資料型別與API引用型別的使用資料型別API
- JavaScript - 資料型別JavaScript資料型別
- Symbol資料型別Symbol資料型別
- 資料型別2資料型別
- JavaScript 資料型別JavaScript資料型別
- js資料型別JS資料型別
- TypeScript資料型別TypeScript資料型別
- Oracle 資料型別Oracle資料型別
- NumPy 資料型別資料型別
- php資料型別PHP資料型別
- numpy資料型別資料型別
- JavaScript資料型別JavaScript資料型別