我们拥有API与SQL Server数据库进行通信并通过存储过程获取和设置数据的应用程序。
在将数据保存在生产服务器中时,我们在应用程序中遇到错误(自定义错误处理),如下所示 ‘以下标签的数据未成功保存,请检查数据并保存 动态:违反主键约束'PK_XX_XXXXXX'
现在要检查问题,我们正在使用下面的方法在数据库中搜索给定的约束名称,但是令人惊讶的是,我们没有找到任何这样的约束,因此现在如何确定导致此错误的表
SELECT OBJECT_NAME(OBJECT_ID) AS NameofConstraint,
SCHEMA_NAME(schema_id) AS SchemaName,
OBJECT_NAME(parent_object_id) AS TableName,
type_desc AS ConstraintType
FROM sys.objects
WHERE type_desc IN ('PRIMARY_KEY_CONSTRAINT')
order by 1
有什么方法可以将表名链接到给定的主键?
答案 0 :(得分:1)
使用INFORMATION_SCHEMA视图...
SELECT *
FROM INFORMATION_SCHEMA.CONSTRAINT_TABLE_USAGE
WHERE CONSTRAINT_NAME = 'PK_XX_XXXXXX'
答案 1 :(得分:0)
应用程序如何显示错误文本,以某种方式将其截断并且仅显示约束名称的一半存在问题。
客户提供了特定的情况来重现该错误,然后我找到了确切的表名及其主键名。
感谢您的帮助。