我的应用程序使用了SQL Server 2017,我在运行一个简单的 UPDATE 一张桌子。
UPDATE
我得到以下SQL异常:
更新语句与检查约束“ck_u agents_u agent_u st_uuu 32ab8735”冲突。
我试图确定实际检查是什么,因为我不记得为相关列设置了检查。
我尝试运行以下查询,但是 definition 列是 null :
definition
null
SELECT name, type_desc, definition FROM sys.check_constraints;
这个栏目很简单 VARCHAR(10) 导致错误的SQL语句是:
VARCHAR(10)
UPDATE AGENTS SET AGENT_STATUS = 'INACTIVE';
我如何确定支票实际上要查找的内容以及失败的原因?
我尝试运行以下查询,但定义列是 无效的: SELECT name, type_desc, definition FROM sys.check_constraints;
我尝试运行以下查询,但定义列是 无效的:
YOR代码是正确的,它实际上检索 check constraint 定义,但如果你看到 NULL 这意味着你没有足够的 permissions 看 check constraint definition .
check constraint
NULL
permissions
check constraint definition
使用此代码可以查看您在此表上拥有哪些权限:
select * from sys.fn_my_permissions ('your_table_schema.your_table_name', 'object');
你看不见 检查约束 定义,除非你有 VIEW DEFINITION 在对象上。
检查约束
VIEW DEFINITION