Array
(
)

Validação de campo no sql

Anacleto Linux
   - 24 jan 2015

tenho este código preciso saber se o usuário inserio o nome ou deixou o campo vazio, mas ela não faz o que quero, porque será?
IF ( @NomeMorador = ' ' )
BEGIN
RAISERROR('Por favor insira o nome do morador',14,1)
END

Alan Mario
   - 24 jan 2015

Acompanhando.

Ronaldo Lanhellas
   - 24 jan 2015

Algum erro ?
Outra coisa, pode ser que o valor esteja nulo e não vazio (coisas diferentes).
Faça a checagem se o NomeMorador é nulo ou vazio e não apenas vazio.

Marisiana
   - 25 jan 2015

Nos bancos que eu conheço, se utiliza IS NULL ou IS NOT NULL.
#Código

IF ( @NomeMorador IS NULL )

Thiago Cruz
   - 26 jan 2015

Você tem duas opções:
1º Adicionar um IF (@NomeMorador is NULL) ou
2º Adicionar a clausula or ficando IF ( @NomeMorador = ' ' ) or ( @NomeMorador IS NULL )

Marisiana
   - 26 jan 2015

Isso funciona no SQL Server?
#Código

IF ( @NomeMorador = ' ' )

Thiago Cruz
   - 26 jan 2015

No que citei seria '' que representam vazio, mais #Código

IF ( @NomeMorador = ' ' )
também funciona perfeitamente

Marisiana
   - 26 jan 2015

Eu só copiei o teu código, não alterei ele...
O correto é utilizar duas aspas simples sem o espaço, mas eu achei estranho porque no PostgreSQL e no Oracle isso não funciona.
E como o Anacleto abriu essa questão, imaginei que o SQL Server também não funcionasse....

Thiago Cruz
   - 26 jan 2015

No meu primeiro código utilizei aspas simples sem espaço.

Marisiana
   - 26 jan 2015

Deve ser porque a fonte que é utilizada na tag para inserção de código no comentário que causa a impressão de que há um espaço mas não há....

Faabiianooc
   - 26 jan 2015

IF (isnull(@NomeMorador,'') in ('',' ') )
begin
raiserror('Erro',16,1)
end

Marisiana
   - 28 jan 2015

Anacleto você conseguiu resolver?

Qual é o banco de dados que você está utilizando?