Boa tarde pessoal!

Uso PostgreSQL 9.1, debian 6.

Tenho as tabelas:

cliente: (id, juridico, fantasia, mainusuario)

usuario: (id, email, senha)

cliente.mainusuario é um relacionamento para usuario.id

adicionei 2 campos: "nome" e "detalhes" à tabela usuario

agora quero definir o seguinte valor:

    nome = cliente.fantasia
    detalhes = 'Usuário principal do cliente ' || cliente.juridico


OBS.: Nem todo usuário é usuário principal de cliente.


Seguindo o exemplo da documentacao [1], fica dando erro de sintaxe:
----------------------------------
update usuario u set
    (nome, detalhes) =
    (select
        c.fantasia,
        'Usuário principal do cliente ' || c.juridico
    from cliente c
    where c.mainusuario = u.id)

where exists (select 1 from cliente c2 where c2.mainusuario = u.id);
----------------------------------

O erro:
---------------------------------
ERRO:  erro de sintaxe em ou próximo a "select"
LINE 11:  (select
---------------------------------


Como consigo resolver isto??

Abraços,

[1] http://www.postgresql.org/docs/current/static/sql-update.html#AEN76319[Em
COMPATIBILITY]

-- 
Moisés P. Sena
(Analista e desenvolvedor de sistemas WEB e mobile)
http://www.moisespsena.com
http://linux.moisespsena.com
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a