Olá,

2009/11/30 Tiago Valério <tiagosvale...@gmail.com>

> Fiz da seguinte forma
>
> CREATE OR REPLACE VIEW vw_tabela as
> select id,nmcliente,endereco,tel from esquema.tabela
> order by id
> limit 1;
>
> Então fiz o seguinte consulta na view
>
> select * from vw_tabela
> where id=1234;
>
> Na situacao acima o resultado gerado é zero.
>

Você não pode fazer o limit 1 na chamada da view?

Ao fazer dentro da view quando você faz limit 1 você vai trazer apenas o
primeiro registro, se você fizer teste com o primeiro registro da tabela
você verá que vai funcionar, se fizer com qualquer outro não.

Recomendaria você usar o limit na chamada da view.

PS: Não sei se minha explicação ficou clara.

>
> Porem se faço  a consulta direto na tabela conforme abaixo, o registro é
> retornado.
>
>
> select * from esquema.tabela
> where id=1234;
>
> Será alguma restrição do limit isto?
>
> Desde obrigado pela força.
>
>
>
>
>
>
> 2009/11/30 JotaComm <jota.c...@gmail.com>
>
> Opa,
>>
>> 2009/11/30 Tiago Valério <tiagosvale...@gmail.com>
>>
>>>  Leo
>>>
>>> Obrigado pela ajuda e aproveitando, para colocar em pratica os
>>> conhecimentos adquiridos.
>>>
>>> Tentei com a criação da view e definindo limit 1.Porem quando uso o where
>>> junto com a view  a consulta retorna zerada, e o registro está na
>>> tabela.Pode haver restrição do limit neste caso?
>>>
>>>
>>> Você pode mandar a definição da view e um exemplo dos dados, podem ser
>>> ficticios.
>>>
>>>
>>>
>>>
>>>
>>> 2009/11/30 Leonardo Cezar <lhce...@gmail.com>
>>>
>>> 2009/11/30 Tiago Valério <tiagosvale...@gmail.com>:
>>>> <corte>
>>>>
>>>> > Porem não  gostaria de dar o grant de select para o usuario em
>>>> "tabela",
>>>> > pois somente assim a function funcionaria.
>>>> >
>>>> > Neste caso teria como resolver esta questão sem o grant de select em
>>>> > "tabela"?
>>>>
>>>> CREATE FUNCTION seleciona_tabela(...)
>>>> RETURNS tabela
>>>> LANGUAGE PLPGSQL
>>>> AS $selection_tabela$
>>>>
>>>> [....]
>>>>
>>>> END;
>>>> $selecion_tabela$
>>>> EXTERNAL SECURITY DEFINER;
>>>> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>>>> Utilize a opção SECURITY na definição da procedure.
>>>>
>>>> Por outro lado, uma visão resolveria seu problema de forma mais simples.
>>>>
>>>> -Leo
>>>> --
>>>> Leonardo Cezar
>>>> http://www.aslid.org.br
>>>> http://postgreslogia.wordpress.com
>>>> http://www.dextra.com.br/postgres
>>>> _______________________________________________
>>>> pgbr-geral mailing list
>>>> pgbr-geral@listas.postgresql.org.br
>>>> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>>>>
>>>
>>>
>>> _______________________________________________
>>> pgbr-geral mailing list
>>> pgbr-geral@listas.postgresql.org.br
>>> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>>>
>>>
>>
>> []s
>> --
>> JotaComm
>> http://jotacomm.wordpress.com
>>
>> _______________________________________________
>> pgbr-geral mailing list
>> pgbr-geral@listas.postgresql.org.br
>> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>>
>>
>
> _______________________________________________
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
>

[]s
-- 
JotaComm
http://jotacomm.wordpress.com
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a