Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oracle数据库可以为大写值设置约束吗?_Oracle_Oracle11g_Check Constraints - Fatal编程技术网

Oracle数据库可以为大写值设置约束吗?

Oracle数据库可以为大写值设置约束吗?,oracle,oracle11g,check-constraints,Oracle,Oracle11g,Check Constraints,我们是否可以在数据库表级别设置约束,使某些列具有大写或小写值?当我们创建一个表时,我们可以设置NOTNULL以避免列上有NULL值。同样,我们可以对大写或小写执行此操作吗?您可以使用检查约束执行此操作: create table foo ( only_lower varchar(20) not null check (lower(only_lower) = only_lower), only_upper varchar(20) not null check (upper(only_u

我们是否可以在数据库表级别设置约束,使某些列具有大写或小写值?当我们创建一个表时,我们可以设置NOTNULL以避免列上有NULL值。同样,我们可以对大写或小写执行此操作吗?

您可以使用检查约束执行此操作:

create table foo
(
   only_lower varchar(20) not null check (lower(only_lower) = only_lower),
   only_upper varchar(20) not null check (upper(only_upper) = only_upper)
);

可以使用检查约束执行此操作:

create table foo
(
   only_lower varchar(20) not null check (lower(only_lower) = only_lower),
   only_upper varchar(20) not null check (upper(only_upper) = only_upper)
);

成功了。如果我们只接受NULL或upper,我们是否需要NOTNULL语句?@user3123690如果您想允许
NULL
值,那么当然不需要
NOTNULL
约束。它起作用了。如果只接受NULL或upper,是否需要NOTNULL语句?@user3123690如果希望允许
NULL
值,则当然不需要
NOTNULL
约束。