我有临时表存储删除语句,我需要在运行时创建一个包含这些删除语句的存储过程

时间:2017-11-14 16:53:59

标签: sql sql-server stored-procedures

临时表格数据:

Delete from RISKASSESSMENTRULEOVERRIDE
where RISKASSESSMENTRULEOVERRIDE.ApplicationNumber=@ApplicationNumber;  

Delete from NONPANELMORTGAGEPRODUCT
where NONPANELMORTGAGEPRODUCT.ApplicationNumber=@ApplicationNumber; 

依旧......

我需要创建一个存储过程,将这些delete语句存储在存储过程中,这样当我得到@ApplicationNumber的多个值时,我不需要迭代每一行,我可以保存我的查询计划,因为它可能会提高性能。

我不确定是否可能?

1 个答案:

答案 0 :(得分:0)

为什么不运行带有临时表连接的删除语句,而不是尝试创建存储过程?

假设您有一个名为#applications_to_delete的临时表,其中包含一个名为DeleteApplicationNumber的列,您可以这样称呼它:

delete RISKASSESSMENTRULEOVERRIDE 
from 
    RISKASSESSMENTRULEOVERRIDE live
    join #applications_to_delete temp
        on (live.ApplicationNumber = temp.DeleteApplicationNumber)

delete NONPANELMORTGAGEPRODUCT 
from 
    NONPANELMORTGAGEPRODUCT live
    join #applications_to_delete temp
        on (live.ApplicationNumber = temp.DeleteApplicationNumber)