Chinaunix首页 | 论坛 | 博客
  • 博客访问: 190318
  • 博文数量: 18
  • 博客积分: 543
  • 博客等级: 下士
  • 技术积分: 265
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-31 16:06
文章分类

全部博文(18)

文章存档

2013年(2)

2012年(3)

2011年(13)

分类: Oracle

2011-10-09 13:58:25

  1. Connected to Oracle Database 10g Enterprise Edition Release 10.2.0.1.0
  2. Connected as SYS

  3. SQL>
  4. SQL> DECLARE
  5. 2 v_number NUMBER;
  6. 3 v_pls PLS_INTEGER;
  7. 4 v_binary BINARY_INTEGER;
  8. 5 BEGIN
  9. 6 v_number:=2147483647;
  10. 7 v_pls :=2147483647;
  11. 8 v_binary:=2147483647;
  12. 9
  13. 10 v_number:=v_number+1;
  14. 11 v_number:=2147483647+1;-- ORA-01426: 数字溢出
  15. 12 --v_number:=v_pls+1; -- ORA-01426: 数字溢出
  16. 13 --v_number:=v_binary+1; -- ORA-01426: 数字溢出
  17. 14 END;
  18. 15 /


  19. DECLARE
  20. v_number NUMBER;
  21. v_pls PLS_INTEGER;
  22. v_binary BINARY_INTEGER;
  23. BEGIN
  24. v_number:=2147483647;
  25. v_pls :=2147483647;
  26. v_binary:=2147483647;

  27. v_number:=v_number+1;
  28. v_number:=2147483647+1;-- ORA-01426: 数字溢出
  29. --v_number:=v_pls+1; -- ORA-01426: 数字溢出
  30. --v_number:=v_binary+1; -- ORA-01426: 数字溢出
  31. END;

  32. ORA-01426: 数字溢出
  33. ORA-06512: 在 line 12

  34. SQL>
  35. SQL> DECLARE
  36. 2 v_number NUMBER;
  37. 3 v_pls PLS_INTEGER;
  38. 4 v_binary BINARY_INTEGER;
  39. 5 BEGIN
  40. 6 v_number:=2147483647;
  41. 7 v_pls :=2147483647;
  42. 8 v_binary:=2147483647;
  43. 9
  44. 10 v_number:=v_number+1;
  45. 11 --v_number:=2147483647+1;-- ORA-01426: 数字溢出
  46. 12 v_number:=v_pls+1; -- ORA-01426: 数字溢出
  47. 13 --v_number:=v_binary+1; -- ORA-01426: 数字溢出
  48. 14 END;
  49. 15 /

  50. DECLARE
  51. v_number NUMBER;
  52. v_pls PLS_INTEGER;
  53. v_binary BINARY_INTEGER;
  54. BEGIN
  55. v_number:=2147483647;
  56. v_pls :=2147483647;
  57. v_binary:=2147483647;

  58. v_number:=v_number+1;
  59. --v_number:=2147483647+1;-- ORA-01426: 数字溢出
  60. v_number:=v_pls+1; -- ORA-01426: 数字溢出
  61. --v_number:=v_binary+1; -- ORA-01426: 数字溢出
  62. END;

  63. ORA-01426: 数字溢出
  64. ORA-06512: 在 line 13

  65. SQL>
  66. SQL> DECLARE
  67. 2 v_number NUMBER;
  68. 3 v_pls PLS_INTEGER;
  69. 4 v_binary BINARY_INTEGER;
  70. 5 BEGIN
  71. 6 v_number:=2147483647;
  72. 7 v_pls :=2147483647;
  73. 8 v_binary:=2147483647;
  74. 9
  75. 10 v_number:=v_number+1;
  76. 11 --v_number:=2147483647+1;-- ORA-01426: 数字溢出
  77. 12 --v_number:=v_pls+1; -- ORA-01426: 数字溢出
  78. 13 v_number:=v_binary+1; -- ORA-01426: 数字溢出
  79. 14 END;
  80. 15 /

  81. DECLARE
  82. v_number NUMBER;
  83. v_pls PLS_INTEGER;
  84. v_binary BINARY_INTEGER;
  85. BEGIN
  86. v_number:=2147483647;
  87. v_pls :=2147483647;
  88. v_binary:=2147483647;

  89. v_number:=v_number+1;
  90. --v_number:=2147483647+1;-- ORA-01426: 数字溢出
  91. --v_number:=v_pls+1; -- ORA-01426: 数字溢出
  92. v_number:=v_binary+1; -- ORA-01426: 数字溢出
  93. END;

  94. ORA-01426: 数字溢出
  95. ORA-06512: 在 line 14

  96. SQL>
阅读(3003) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

xGss20002011-10-27 09:03:19

结论就是无论binary_integer还是pls_integer都存在溢出情况。并不会赋值给一个number类型。