Sun*_*Sun -1 sql-server check-constraints
我尝试导入一条在 addr 字段中带有分号的记录。一旦我从导入文件中删除分号,以下错误就消失了:
发生数据库错误 SQLSATE = 23000
[Microsoft][ODBC SQL Server 驱动程序][SQL Server]
INSERT 语句与 CHECK 约束“addr_customer”冲突。冲突发生在数据库“db”、表“dbo.customer”、列“addr”中。
存储过程有这段话。我试图在LIKE子句中理解约束检查正在寻找哪些其他字符。显然分号是不允许的。'%[我是否阅读了和之间列出的每个字符']%都是不允许的字符(例如“ | ; % _ ' )的子句?
TABLE [dbo].[customer] WITH
CHECK ADD CONSTRAINT
[addr_customer]
CHECK ((NOT [addr] like '%[,"|;%_'']%'))
Run Code Online (Sandbox Code Playgroud)
此CHECK约束验证该值与模式不匹配LIKE。
该模式的评估如下
%以任意字符、多个字符或无字符开头[,"|;%_'']括号内的任何实际字符(不包括括号),并且'由于转义而加倍。%后跟任意、多个或无字符因此本质上,该值不能包含任何字符,"|;%_'。
它还允许NULL插入 s,假设没有约束NOT NULL。
| 归档时间: |
|
| 查看次数: |
142 次 |
| 最近记录: |