Em 15 de fevereiro de 2010 20:56, Euler Taveira de Oliveira <
[email protected]> escreveu:

> Andre Fernandes escreveu:
> > Nesse caso eu usaria na função a SPI_execute_with_args(), certo? Mas
> > como escreveria a SQL (qual a sintaxe para mostrar o local
> > dos argumentos na mesma)? E como passaria os OIDs para os tipos dos
> dados?
> >
> É só seguir a API...
>
> ...
>
> Oid     oids[2];
> Datum   values[2];
> char    nulls[2];
>
> int ret;
>
> ...
>
> oids[0] = INT4OID;
> values[0] = meu_primeiro_param;
> nulls[0] = ' '; /* not null */
>
> oids[1] = TEXTOID;
> values[1] = meu_segundo_param;
> nulls[1] = ' '; /* not null */
>
> ...
>
> ret = SPI_execute_with_args(
>        "SELECT a, b FROM foo WHERE x > $1 AND y = $2", /* comando SQL */
>        2,      /* número de argumentos */
>        oids,   /* tipos dos argumentos */
>        values, /* valores dos argumentos */
>        nulls,  /* quais valores são nulo */
>        true,   /* somente leitura? */
>        5);     /* número de registro processados */
>
> ...
>
> Obrigado, agora entendi um pouco melhor. Estava antes tentando fazer um
select na visão de tipos para pegar os tipos dos
parâmetros, mas com teu exemplo ficou muito mais simples. Realmente é menos
complexo depois de ver um exemplo como
esse.


>
> --
>   Euler Taveira de Oliveira
>  http://www.timbira.com/
> _______________________________________________
> pgbr-geral mailing list
> [email protected]
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>


-- 
André de Camargo Fernandes
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a