मुझे संग्रहीत प्रक्रिया में इसे निष्पादित करते समय अमान्य ऑब्जेक्ट SubSkillIds त्रुटि मिली? क्या कोई मुझे बता सकता है कि ऐसा क्यों है?संग्रहीत प्रक्रिया में सीटीई संचालन करते समय एक अवैध ऑब्जेक्ट त्रुटि प्राप्त करना?
मेरे त्रुटि संदेश लगता है कि: -
संदेश 208, स्तर 16, राज्य 1, प्रक्रिया SubSkillDelete, रेखा 47
अमान्य ऑब्जेक्ट नाम 'SubSkillIds'।
कोड:
WITH SubSkillIds (SubSkillId) AS
(
-- Base case
SELECT
SubSkillId
FROM dbo.SubSkill
WHERE RegressionSubSkillId = @SubSkillId
UNION ALL
-- Recursive step
SELECT
S.SubSkillId
FROM dbo.SubSkill S
WHERE S.RegressionSubSkillId IN (
SELECT
SubSkillId
FROM dbo.SubSkill
WHERE RegressionSubSkillId = @SubSkillId)
)
SELECT @SubSkillIdFound = SubSkillId
FROM SubSkill WHERE SubSkillId = @SubSkillId
DELETE FROM SubSkillActivity WHERE SubSkillId = @SubSkillId
DELETE FROM SubSkill WHERE RegressionSubSkillId
IN (SELECT * FROM SubSkillIds)
DELETE FROM SubSkill WHERE SubSkillId = @SubSkillId
+1। मुझे लगता है कि यह कहना भी वैध होगा कि एक सीटीई वास्तव में * कथन का एक भाग * है जो पहले से है (SQL सर्वर में, वैसे भी)। –
धन्यवाद marc_s और एंड्री –