【发布时间】:2013-02-28 10:09:47
【问题描述】:
我希望删除一个 select 语句返回的结果,我这样做的原因是因为我在表之间存在关系,如果我从最顶层的表中删除它在其他表中的子行也必须被删除。
谁能帮我纠正这个存储过程?
ALTER proc [dbo].[storedprocname]
(@Parameter uniqueidentifier = '00000000-0000-0000-0000-000000000000')
AS BEGIN
DELETE FROM TableOne
WHERE IDOne IN
(SELECT
IDOne,
DescOne, IndexOne,
IDTwo,
QuestionTwo, ControlTypeTwo, IndexTwo,
IDThree,
DescThree, IndexThree,
QuestionFour,
OptionFour
FROM
TableOne
INNER JOIN
TableTwo ON TableTwo.CatID = TableOne.IDOne
INNER JOIN
TableThree ON TableThree.Question = TableTwo.IDTwo
LEFT OUTER JOIN
TableFour ON TableFour.Question = TableThree.IDThree
WHERE
TableOne.IDOne = @Parameter)
END
【问题讨论】:
标签: sql-server select stored-procedures join