2017-01-22 25 views
2

PL/SQL中還有其他數據類型,如BINARY_INTEGER。 PLS在PLS_INTEGER中添加了什麼?我被告知它代表PL/SQL,但爲什麼它會被命名?PLS在PLS_INTEGER中代表什麼?

+3

你是否閱讀過規範? http://docs.oracle.com/cloud/latest/db112/LNPLS/datatypes.htm#LNPLS003 –

+1

@RemusRusanu該規範沒有解釋PLS代表什麼,就像縮寫一樣。 –

+6

我_assume_它是PL/SQL的縮寫,用於區分它與「SQL整數」 –

回答

3

我懷疑在「PLS_INTEGER」中使用「PLS」有什麼深層原因。當添加此數據類型時,它是「原始」BINARY_INTEGER數據類型的更高效的實現。並且需要一個新名字。

與INTEGER相比,這兩種類型和其他相關子類型都有一組受限制的值。你可以在STANDARD軟件包中看到它,其中定義了類型:

subtype BINARY_INTEGER is INTEGER range '-2147483647'..2147483647; 
    subtype NATURAL is BINARY_INTEGER range 0..2147483647; 
    subtype NATURALN is NATURAL not null; 
    subtype POSITIVE is BINARY_INTEGER range 1..2147483647; 
    subtype POSITIVEN is POSITIVE not null; 
    subtype SIGNTYPE is BINARY_INTEGER range '-1'..1; -- for SIGN functions 
    subtype pls_integer is binary_integer;