Validação de campo no sql

SQL Server

PostgreSQL

SQLite

24/01/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
Anacleto Linux

Anacleto Linux

Curtidas 0

Respostas

Alan Mario

Alan Mario

24/01/2015

Acompanhando.
GOSTEI 0
Ronaldo Lanhellas

Ronaldo Lanhellas

24/01/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.
GOSTEI 0
Marisiana Battistella

Marisiana Battistella

24/01/2015

Nos bancos que eu conheço, se utiliza IS NULL ou IS NOT NULL.
IF ( @NomeMorador IS NULL )
GOSTEI 0
Thiago Cruz

Thiago Cruz

24/01/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 )
GOSTEI 0
Marisiana Battistella

Marisiana Battistella

24/01/2015

Isso funciona no SQL Server?
IF ( @NomeMorador = ' ' )
GOSTEI 0
Thiago Cruz

Thiago Cruz

24/01/2015

No que citei seria '' que representam vazio, mais
IF ( @NomeMorador = ' ' )
também funciona perfeitamente
GOSTEI 0
Marisiana Battistella

Marisiana Battistella

24/01/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....
GOSTEI 0
Thiago Cruz

Thiago Cruz

24/01/2015

No meu primeiro código utilizei aspas simples sem espaço.
GOSTEI 0
Marisiana Battistella

Marisiana Battistella

24/01/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á....
GOSTEI 0
Fabiano Carvalho

Fabiano Carvalho

24/01/2015

IF (isnull(@NomeMorador,'') in ('',' ') )
begin
raiserror('Erro',16,1)
end
GOSTEI 0
Marisiana Battistella

Marisiana Battistella

24/01/2015

Anacleto você conseguiu resolver?

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