pls_integer型別

itpremier發表於2010-09-19

今天在看一個觸發器程式碼的時候碰到了一個pls_integer型別,以前沒碰到過,記錄一下:

PLS_INTEGER可以儲存一個有符號的整形值,其精度範圍和BINARY_INTEGER一樣,是:-2^31~2^31。
PLS_INTEGER和NUMBER比較起來,其優點是:
1).佔有較少的儲存空間;
2).可以直接進行算術運算(在NUMBER上不能直接進行算術運算,如果要計算,NUMBER必須先被轉換成二進位制)。所以在進行算術的時候PLS_INTEGER比NUMBER和BINARY_INTEGER快一些。

PLS_INTEGER和BINARY_INTEGER區別:
PLS_INTEGER進行的運算發生溢位的時候,會觸發異常。但是當BINARY_INTEGER運算發生溢位時,如果可以指派給一個NUMBER變數(沒有超出NUMBER的精度範圍)的話就不會觸發異常。
<wbr>

Benefits of Using PLS_INTEGER Datatype in PL/SQL
If you have a whole-number counter, for example in a loop or record counter, consider using a datatype of PLS_INTEGER instead of INTEGER or NUMBER. When declaring an integer variable, PLS_INTEGER is the most efficient numeric datatype because its values require less storage than INTEGER or NUMBER values, which are represented internally as 22-byte Oracle numbers. Also, PLS_INTEGER operations use machine arithmetic, so they are faster than BINARY_INTEGER, INTEGER, or NUMBER operations, which use library arithmetic.

看來pls_integer是推薦使用的,以後可以嘗試多使用一下.

[@more@]

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/350519/viewspace-1038602/,如需轉載,請註明出處,否則將追究法律責任。

相關文章