यह एक टिप्पणी के लिए बहुत लंबा है।
आप वह नहीं कर सकते जो आप आसानी से चाहते हैं। Oracle इनपुट मान को परिवर्तित कर रहा है 3.2
एक पूर्णांक के लिए। पूर्णांक बाधा को पूरा करता है। मान 3
जो डाला जाता है। रूपांतरण पर्दे के पीछे होता है। Oracle के डेवलपर्स को लगा कि यह रूपांतरण एक "अच्छी बात" है।
आप कॉलम को संख्या . के रूप में घोषित करके इससे निजात पा सकते हैं और फिर जाँच करना कि यह एक पूर्णांक है:
create table test (
A number,
constraints ACHECK check(A between 1 and 5 and mod(A, 1) = 0)
);