【发布时间】:2016-06-01 17:01:13
【问题描述】:
我的表格有一个奇怪的问题,我正在向表格中插入行,现在我正在尝试对其进行测试,在我的一个测试中,它允许一个它不应该输入的条目。
我的表定义:
CREATE TABLE ITEMS(
ITEM_NUMBER VARCHAR2(3)
CONSTRAINT ITEMS_ITEM_NUMBERf_PK PRIMARY KEY,
ITEM_DESCRIPTION VARCHAR2(30),
ITEM_SIZE VARCHAR2(2),
ITEM_COST NUMBER(30,0),
ITEM_QTY NUMBER(2,0),
ORDER_NUMBER VARCHAR2(4));
当我尝试通过输入 number 来测试 ITEM_SIZE 列时,它只是插入它。
INSERT INTO ITEMS VALUES ('I32', 'Leather blazer', 'L', 14.00, 1, 'O114');
INSERT INTO ITEMS VALUES ('I33', 'Fleece vest', 'L', 28.00, 1, 'O128');
INSERT INTO ITEMS VALUES ('I34', 'Khaki pants', 'S', 22.00, 3, 'O122');
INSERT INTO ITEMS VALUES ('I35', 'Muscle Tee', 'M', 12.99, 1, 'O122');
INSERT INTO ITEMS VALUES ('I36', 'Trench Coat', 'M', 03.00, 1, 'O133');
INSERT INTO ITEMS VALUES ('I37', 'Crewneck sweater', 'XL', 07.00, 1, 'O107');
INSERT INTO ITEMS VALUES ('I38', 'Varsity Sweater', 'M', 08.99, 1, 'O108');
INSERT INTO ITEMS VALUES ('I39', 'CROOK', 'M', 12.00, 1, 'O112');
//--测试者--//
INSERT INTO ITEMS VALUES ('I49', 'bROOK', 10, 12.00, 1, 'O112');
在上面的语句中,我将数字 10 插入到ITEM_SIZE VARCHAR2(2)。我怎样才能避免这种情况?
【问题讨论】:
-
只是一个未成年人,您输入了 ITEM_SIZEf 而不是 ITEM_SIZE(可能)
-
是的,我很抱歉之前测试过我的桌子
-
但仍有问题
-
我不明白你的问题,请解释清楚
-
创建检查约束。
标签: sql oracle oracle11g casting insert