RESULSET NÃO VAZIA

SINCLAIR 04/12/2014 15:05:24
#442985
Colegas,

Por questão interna preciso que uma Query retorne linha vazia (ou nula) caso a condição Where não seja válida. No exemplo abaixo nenhum nome de cliente retornará, preciso que ao menos uma linha retorne.

Select nome from Cadastros Where nome=[ô]ESTE CLIENTE NAO EXSITE[ô]


Até consigo resolver com

Select nome from Cadastros Where nome=[ô]ESTE CLIENTE NAO EXSITE[ô] Union Select Null


Mas gostaria de saber se existe alguma função interna para isto, para evitar o Union (por motivos outros).

PostgreSQL 9.3

Alguém sabe?

Grato
TUNUSAT 04/12/2014 15:48:55
#442988
Euzébio Cruz,

Serve algo assim?

declare @nome varchar(10)

select @nome = (SELECT nome
FROM Cadastros
Where nome=[ô]ESTE CLIENTE NAO EXISTE[ô])

select @nome VAZIO



[][ô]s,
Tunusat.
P.S. (Post Script) -
Veja este fórum: https://social.technet.microsoft.com/Forums/sqlserver/pt-BR/home?category=sqlserver
SINCLAIR 04/12/2014 16:31:42
#442989
TUNUSAT,

Grato por sua resposta. Mas como eu havia comentado é para PostGreSQL, sua Query creio ser destinada ao SQL Server.

Usei assim:

DO $$
DECLARE myvar varchar(40);
BEGIN
SELECT null INTO myvar;

DROP TABLE IF EXISTS tmp_table;
CREATE TABLE tmp_table AS
SELECT nome FROM zxcadgrl WHERE nome = [ô]ESTE CLIENTE NÃO EXISTE[ô];
END $$;

SELECT nome FROM tmp_table;


Mas não resolveu.

Ainda estou pesquisando e, caso encontre resposta, colocarei no post para servir de consulta aos demais colegas que futuramente pesquisarem.

Tudo de bom.
SINCLAIR 05/12/2014 03:47:29
#443000
Prezados,

Acabei resolvendo através de mudança na estrutura do banco de dados.

Tunusat, colega atencioso, grato por sua atenção!

Tudo de bom.
Tópico encerrado , respostas não são mais permitidas