我的应用程序使用SQL Server 2017,并且在向表运行简单的UPDATE
时遇到问题。
我收到以下SQL异常:
UPDATE语句与CHECK约束“ CK__AGENTS__AGENT_ST__32AB8735”发生冲突
我试图确定实际的检查是什么,因为我不记得要为相关的列设置一个。
我尝试运行以下查询,但是definition
列为null
:
SELECT
name,
type_desc,
definition
FROM
sys.check_constraints;
该列是一个简单的VARCHAR(10)
,导致错误的SQL语句是这样的:
UPDATE AGENTS
SET AGENT_STATUS = 'INACTIVE';
我如何确定检查的实际内容以及为什么检查失败?
答案 0 :(得分:0)
我尝试运行以下查询,但定义列为 空:
SELECT name, type_desc, definition FROM sys.check_constraints;
您的代码是正确的,并且实际上检索了check constraint
定义,但是如果您看到的是NULL
而不是permissions
,则意味着您没有足够的check constraint definition
来查看select *
from sys.fn_my_permissions ('your_table_schema.your_table_name', 'object');
。
您可以使用以下代码查看对该表具有哪些权限:
check constraint
除非对象上有VIEW DEFINITION
,否则您将看不到<wsdl:types>
<xs:schema>
<!-- input schema -->
<xs:element name="vs_ss_list" type="vsSsList" />
<xs:element name="vs_ss" type="vsSs" />
<xs:complexType name="vsSsList">
<xs:sequence maxOccurs="unbounded">
<xs:element ref="vs_ss" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="vsSs">
<xs:sequence>
<xs:element name="vs" type="xs:string" />
<xs:element name="ss" type="xs:string" />
</xs:sequence>
</xs:complexType>
<!-- output schema -->
.
.
.
</xs:schema>
</wsdl:types>
的定义。