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
