1
resposta

Olá, pessoal. O retorno dessa consulta está trazendo NULL. Ainda não consegui identificar o motivo desse retorno. Podem ajudar ?

CREATE FUNCTION EntidadeAleatoria (@TIPO VARCHAR(12)) RETURNS VARCHAR(20)
AS
BEGIN
DECLARE @ENTIDADE_ALEATORIO VARCHAR(12)
DECLARE @TABELA TABLE (CODIGO VARCHAR(20))
DECLARE @VAL_INICIAL INT
DECLARE @VAL_FINAL INT
DECLARE @ALEATORIO INT
DECLARE @CONTADOR INT

IF @TIPO = 'CLIENTE'
BEGIN
   INSERT INTO @TABELA (CODIGO) SELECT CPF AS CODIGO FROM [TABELA DE CLIENTES]
END
IF @TIPO = 'VENDEDOR'
BEGIN
   INSERT INTO @TABELA (CODIGO) SELECT MATRICULA AS MATRICULA FROM [TABELA DE VENDEDORES]
END
IF @TIPO = 'PRODUTO'
BEGIN
   INSERT INTO @TABELA (CODIGO) SELECT [CODIGO DO PRODUTO] AS [CODIGO DO PRODUTO] FROM [TABELA DE PRODUTOS]
END

SET @CONTADOR = 1
SET @VAL_INICIAL = 1
SELECT @VAL_FINAL = COUNT(*) FROM @TABELA
SET @ALEATORIO = [dbo].[NumeroAleatorio](@VAL_INICIAL, @VAL_FINAL)
DECLARE CURSOR1 CURSOR FOR SELECT CODIGO FROM @TABELA
OPEN CURSOR1
FETCH NEXT FROM CURSOR1 INTO @ENTIDADE_ALEATORIO
WHILE @CONTADOR < @ALEATORIO
BEGIN
   FETCH NEXT FROM CURSOR1 INTO @ENTIDADE_ALEATORIO
   SET @CONTADOR = @CONTADOR + 1
END
CLOSE CURSOR1
DEALLOCATE CURSOR1
RETURN @ENTIDADE_ALEATORIO
END



SELECT [dbo].[EntidadeAleatoria]('CLIENTE'), [dbo].[EntidadeAleatoria]('PRODUTO'),
[dbo].[EntidadeAleatoria]('VENDEDOR')
1 resposta

Olá José, tudo bem?

Eu executei a criação da sua função e em seguida o select e os dados foram retornados normalmente, então, aparentemente o problema não está na sua função.

Então você poderia realizar algumas verificações? Você poderia verifica em qual banco de dados você está conectado? Você poderia realizar um select nas suas tabelas de clientes, vendedores e produtos, para checar se está tudo certo? Também poderia checar se realizou todos os passos apresentados pelo instrutor?

Aguardo o seu retorno José!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software