Uso Mssql 2000 c/ delphi5

Tenho a seguinte funcion  abaixo:

CREATE function CustoMat(@Materia Int)

returns Money

as

begin
   Declare @Custo Money
   Declare @Intermed Char(1)
   Declare @Producao Int   

   -- Verifica se o produto tem composicao
   Set @Custo=0
   
   Select @Intermed=(Select IsNull(Intermed,'N') From Materia Where [EMAIL 
PROTECTED])

   If @Intermed='N' -- produto Intermediario='N'
   Begin
      Select @Custo=(Select custoMedio From Materia Where [EMAIL PROTECTED])  
   End
   Else
   Begin
        -- Pega o custo da composicao da Materia 
        Set @Custo=(Select Sum(D.Qtde*Dbo.CustoMat(D.Materia)) From CompMp D 
Where [EMAIL PROTECTED])
   End
   Return @Custo
END


quando vou executar em um select:

Select P.Codigo,P.Descricao, (Dbo.CustoMat(P.Codigo)) as Xcusto From Produtos P
Order By P.Codigo

da o seguinte erro:

Maximum stored procedure, function, trigger, or view nesting level exceeded 
(limit 32).

O QUE DEVO FAZER ?

Ps: Quando o resultado c/ poucos produtos não gera o erro.

Doretto




[As partes desta mensagem que não continham texto foram removidas]

Responder a