Um amigo me ligou perguntando sobre recursividade no SQL, como implementar. Segue abaixo um código utilizado para recursividade de menu.

Criando o ambiente

Create table Menu ( Codigo int identity(1,1) primary key, Descricao varchar(50) not null, CodigoPai int null )

INSERT INTO Menu(Descricao) values('Arquivo'),('Editar'),('Ajuda') INSERT INTO Menu(Descricao,CodigoPai) values('Salvar',1), ('Salvar Como',1),('Sair',1)
INSERT INTO Menu(Descricao,CodigoPai) values('Copiar',2), ('Colar',2),('Recortar',2) INSERT INTO Menu(Descricao,CodigoPai) values('Sobre',3)
INSERT INTO Menu(Descricao,CodigoPai) values('PDF',5), ('Word',5),('Excel',5)
INSERT INTO