这是根据传递给它的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