0
を削除します。SQLサブメニューは、私はすべてのsuのサブメニューとそのサブメニューのサブメニューを削除する1つのメニューを削除すると、私はMENUテーブル(ID、名前、refparent)</p> <p>を持って
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
ALTER PROCEDURE [dbo].[cms_menu_delete]
@refUser bigint,
@refPortal int,
@refId bigint
AS
BEGIN
SET XACT_ABORT ON
BEGIN TRANSACTION
SELECT MENU.Id,MENU.[Order]
INTO #MENUSAMELEVEL
FROM MENU
WHERE MENU.refParent=(SELECT MENU.refParent FROM MENU WHERE [email protected])
SELECT MENU.Id
INTO #MENUSUBS
FROM MENU
WHERE [email protected]
DELETE FROM MENU WHERE Id = @refId
COMMIT TRANSACTION
SELECT 'SUCCEED' as Result
END
サブメニューは#MENUSUBSになりましたが、削除するだけでは不十分です。彼らはまた、サブメニューを持つことができます。どうすればいいですか?緑を削除すると、オレンジ色のものも削除されますので、どうすればいいですか?
写真事前に おかげ
が今まで聞いたすべてのIDを削除します'再帰的なCTE'sの。サンプルデータと期待される結果を追加できますか? –