1

我想添加一个约束来检查字符串的第一个值(在本例中为 Product_id)是否是特定字符。在这种情况下,我需要第一个字符是“P”,而其余字符可以是数字字符的任意组合。

到目前为止,我在创建表时有这个,

  CREATE TABLE PRODUCTS
(
Product_id varchar2(6) CHECK (Product_id, SUBSTRING(1,1) = "P"); 
Description varchar2(20) NOT NULL,
Qty_on_hand number(10) NOT NULL,
Reorder_level number(5),
Price_per_unit number(8,2)
);

但它似乎不起作用。我确定这是一个非常简单的语法错误,但我无法发现它。

4

2 回答 2

3

这是语法错误

CREATE TABLE PRODUCTS
(
Product_id varchar2(6) CHECK ( SUBSTR(Product_id,1,1) = 'P'),
Description varchar2(20) NOT NULL,
Qty_on_hand number(10) NOT NULL,
Reorder_level number(5),
Price_per_unit number(8,2)
);
于 2013-10-31T16:27:26.283 回答
0

CREATE TABLE PRODUCTS ( Product_id varchar2(6) CHECK (Product_id like 'P%') ; Description varchar2(20) NOT NULL, Qty_on_hand number(10) NOT NULL, Reorder_level number(5), Price_per_unit number(8,2) );

于 2018-08-13T06:31:26.383 回答