這是根據傳遞給它的XML參數數組刪除行,我的存儲過程:調用存儲過程並傳遞參數從另一個存儲過程
BEGIN
DECLARE @docHandle int
EXEC sp_xml_preparedocument @docHandle OUTPUT, @XMLDoc
DELETE Comments WHERE
ID IN (SELECT * FROM OPENXML(@docHandle, '/values/value1', 2) WITH (value1 INT '.'))
EXEC sp_xml_removedocument @docHandle
END
現在不是DELETE我要打電話到另一個存儲過程(執行分級刪除,它接收ID參數)
我該怎麼做?
UPDATE:這是我的第二SP:
(
@ID int
)
AS
IF @ID<>1
BEGIN
CREATE TABLE #nodesC (id int primary key)
INSERT INTO #nodesC (id) VALUES (@ID)
WHILE @@rowcount > 0
INSERT INTO #nodesC
SELECT child.ID
FROM Comments child
INNER JOIN #nodesC parent ON child.ParentId = parent.id
WHERE child.ID NOT IN (SELECT id FROM #nodesC)
DELETE
FROM Comments
WHERE ID IN (SELECT id FROM #nodesC)
END
你會以完全相同的方式做到這一點? – 2009-10-21 09:53:39
@米奇小麥,你是什麼意思? – markiz 2009-10-21 09:56:48