如何使用外键删除记录

  • 本文关键字:删除 记录 何使用 tsql
  • 更新时间 :
  • 英文 :


我想从 QryCriteria 中删除所有记录,其中 CfgQryCriteriaId 是 CfgQryCriteria 中的 CfgQryCriteriaIdWHERE Criteria = 'PolicyAdministration.MDSL.Terms.LockInDate'

以下是我到目前为止所拥有的,有人可以提供帮助吗?

 BEGIN TRY
 BEGIN TRANSACTION CFG 
     DELETE FROM QryCriteria 
     WHERE CfgQryCriteriaId  = 'PolicyAdministration.MDSL.Terms.LockInDate'
 END TRY
 BEGIN CATCH
 if(@@TRANCOUNT >0)
 ROLLBACK TRANSACTION CFG 
 END CATCH

一个简单的方法是使用子查询来获取所有适当的CfgQryCriteria值:

delete from QryCriteria
  where CfgQryCriteriaId in (
    select COC.CfgQryCriteriaId from CfgQryCriteria as COC where COC.Criteria = 'PolicyAdministration.MDSL.Terms.LockInDate' );

可以使用where exists和相关子查询构造类似的查询。第三种选择是从两个表之间的inner join中删除。

最新更新