Gerar TXT a partir de várias tabelas
Olá,
Andei pesquisando e verifiquei que existe o comando ´SELECT INTO OUTFILE´, que gera arquivo texto de uma tabela só.
Meu problema é que preciso gerar um arquivo texto a partir de varias tabelas, em uma ordem específica, a partir de uma procedure, ou job no MySQL.
Por exemplo, preciso gerar um arquivo texto com notas e itens de notas, dois arquivos, e preciso que gere na sequencia:
NOTA 1|CLIENTE 1|VALOR 30|
ITEM 1|QTD 4|
ITEM 2|QTD 3|
NOTA 2|CLIENTE 1|VALOR 70|
ITEM 1|QTD 2|
NOTA 3|CLIENTE 2|VALOR 80|
ITEM 1|QTD 5|
ITEM 2|QTD 10|
Mas no comando citado acima, eu nao consigo gerar um dado de uma tabela, continuar a geração de outra, e depois voltar na tabela anterior para pegar o proximo dado, pois nao encontrei um modo de apendar no arquivo, senao eu faria uma procedure com um for gerando os blocos.
Procurei um comando do tipo fwrite() para executar no banco MySQL mas nao encontrei, pois seria uma outra solução tambem, nao preciso obrigatoriamente usar o comando OUTFILE.
Existe algum ´fwrite()´ que eu possa usar em procedures do MySQL?
Pois acessando via aplicação (PHP) a execução demora demais, preciso executar esses procedimentos direto do banco.
Obrigado.
Andei pesquisando e verifiquei que existe o comando ´SELECT INTO OUTFILE´, que gera arquivo texto de uma tabela só.
Meu problema é que preciso gerar um arquivo texto a partir de varias tabelas, em uma ordem específica, a partir de uma procedure, ou job no MySQL.
Por exemplo, preciso gerar um arquivo texto com notas e itens de notas, dois arquivos, e preciso que gere na sequencia:
NOTA 1|CLIENTE 1|VALOR 30|
ITEM 1|QTD 4|
ITEM 2|QTD 3|
NOTA 2|CLIENTE 1|VALOR 70|
ITEM 1|QTD 2|
NOTA 3|CLIENTE 2|VALOR 80|
ITEM 1|QTD 5|
ITEM 2|QTD 10|
Mas no comando citado acima, eu nao consigo gerar um dado de uma tabela, continuar a geração de outra, e depois voltar na tabela anterior para pegar o proximo dado, pois nao encontrei um modo de apendar no arquivo, senao eu faria uma procedure com um for gerando os blocos.
Procurei um comando do tipo fwrite() para executar no banco MySQL mas nao encontrei, pois seria uma outra solução tambem, nao preciso obrigatoriamente usar o comando OUTFILE.
Existe algum ´fwrite()´ que eu possa usar em procedures do MySQL?
Pois acessando via aplicação (PHP) a execução demora demais, preciso executar esses procedimentos direto do banco.
Obrigado.
Alekiz
Curtidas 0
Respostas
Alekiz
31/03/2009
Bom, ninguem comentou no tópico, mas eu consegui resolver sozinho.
Basta usar uma tabela temporária. Alimentá-la atraves de procedures, e depois usar o comando load file output dessa temporária.
=)
Basta usar uma tabela temporária. Alimentá-la atraves de procedures, e depois usar o comando load file output dessa temporária.
=)
GOSTEI 0