我想创建一个规则以限制要输入到列中的特殊字符。
我尝试了以下方法。但它没有用。
CREATE RULE rule_spchar
AS
@make LIKE '%[^[^*|\":<>[]{}`\( );@&$]+$]%'
我不知道我在这里做错了什么。任何帮助,将不胜感激。
最佳答案
您可以在此列上创建 Check Constraint
并且只允许在此列中插入 Numbers
和 Alphabets
,请参见下文:
检查约束只允许数字和字母
ALTER TABLE Table_Name
ADD CONSTRAINT ck_No_Special_Characters
CHECK (Column_Name NOT LIKE '%[^A-Z0-9]%')
检查约束以只允许数字
ALTER TABLE Table_Name
ADD CONSTRAINT ck_Only_Numbers
CHECK (Column_Name NOT LIKE '%[^0-9]%')
检查约束以只允许字母
ALTER TABLE Table_Name
ADD CONSTRAINT ck_Only_Alphabets
CHECK (Column_Name NOT LIKE '%[^A-Z]%')