Usuário com melhor resposta
SQL Server Create Function com Erros

Pergunta
-
Ola!
Achei na internet exatamente o que procurava! Tipo 100% (coisa rara, né ?)
Tenho receio de colocar o link aqui por conta de direitos autorais, etc... rsrs
Li a toda a publicação... fecha com o que preciso, etc... mas infelizmente dá erro ao executar! 😞
Agradeço ajudause master -- código #3.5 CREATE FUNCTION n_elemento_pont ( @pTexto nvarchar(2000), @pSeparador nchar(1), @pElemento smallint ) returns nvarchar(2000) begin -- validação dos parâmetros IF @pTexto is null or len (@pTexto) = 0 or @pSeparador is null or len (@pSeparador) = 0 or @pElemento is null or @pElemento <= 0 return NULL -- declare @Texto nvarchar(2000), @N int, @Pont1 int, @Pont2 int set @Texto= @pTexto + @pSeparador set @N= 1 set @Pont2= 0 while @N <= @pElemento begin set @Pont1= @Pont2 set @Pont2= charindex (@pSeparador, @Texto, (@Pont1 +1)) IF @Pont2 = 0 or @Pont2 is null break set @N+= 1 end -- IF @Pont2 = 0 or @Pont2 is null return NULL -- return substring (@Texto, (@Pont1 +1), (@Pont2 - @Pont1 -1)) end
quarta-feira, 8 de junho de 2022 10:34
Respostas
-
Testei também no versão 2012 e funcionou. está usando Express ?
Tem permissão para criar funções ?
Faça um teste, tente criar essa função:
CREATE FUNCTION teste ( @Param1 int ) RETURNS int AS BEGIN DECLARE @ResultVar int RETURN @ResultVar END
quarta-feira, 8 de junho de 2022 12:58
Todas as Respostas
-
Bom dia,
Aqui funcionou.
Qual é a versão do SQL Server que você está usando ?
Pq está criando a função no Master ?
quarta-feira, 8 de junho de 2022 11:06 -
ué!?
O Server tem a versão 2012 ... será isso ?!
=(Ah! desculpe ... não respondi do master...
foi apenas uma tentativa, pois no BD de teste não funfou!
- Editado MLRamos quarta-feira, 8 de junho de 2022 11:19 complementar
quarta-feira, 8 de junho de 2022 11:12 -
Testei também no versão 2012 e funcionou. está usando Express ?
Tem permissão para criar funções ?
Faça um teste, tente criar essa função:
CREATE FUNCTION teste ( @Param1 int ) RETURNS int AS BEGIN DECLARE @ResultVar int RETURN @ResultVar END
quarta-feira, 8 de junho de 2022 12:58 -
Eeeee!
Funcionou e funcionou a minha função também...
Quando "colei" numa nova query seu teste estava "ok"... mas estava no master!
Daí inclui "use teste" (meu BD pra isso!) e daí já apareceu tudo sublinhado... sabe quando o SQL não reconhece a função... ?
Então selecionei o BD e abri uma nova query (pra ele executar no BD teste) colei e executei com sucesso!
Daí fiz com minha função da mesma forma e também funcionou, rsrsrs
Resumindo não pode ter "nada" acima (nem use BD) pra executar! Estranho... né ?!
Mas funfou... muito obrigado!
- Sugerido como Resposta Junior Galvão - MVPMVP quarta-feira, 8 de junho de 2022 21:54
quarta-feira, 8 de junho de 2022 13:43