photoshop dreamwaever flash ilustrator fireworks fireworks indesigner mysqlworkbench blender chrome firefox safari
parallels vitual box vmware bluej netbeans remote windows guj sqldeveloper astah sped
unipaas abraweb mysql php ulbra lgdesigner mssql plsql
oracle apple Cigam Software Corporativo QI Escola Técnica e Faculdades Flickr Tiago Endres Kochenborger clickPro
Tiago Endres Kochenborger


Inserção Múltipla de Registros (Banco de Dados)

Todos os dias nos deparamos com situações adversas nos ambientes de nossos clientes, me deparei com uma situação onde a conexão de internet do cliente deixa a desejar e nesta situação tive a necessidade de utilizar a inserção múltipla de registros, assim diminuindo o tráfego de dados, esta situação se aplica igualmente quando o sistema é utilizado por um número grande de usuários com uma centralização de dados, realizando desta forma a minimização de processos e fluxo.

Crie uma variável para receber o comando SQL ao qual será executado somente no final do procedimento.

Depois realize a abertura de uma transação para garantir a integridade dos dados, prepare como se fosse um cabeçalho do comando o insert na tabela conforme exemplo abaixo.

// comando de inserção descrevendo as colunas que receberam dados INSERT INTO tbteste (id,texto) values

Depois do cabeçalho montado criei um while(laço de repetição), onde prepara os values(valores) concatenando eles entre parênteses e separados por vírgula, conforme o exemplo abaixo.

(1,'Teste 1'),(2,'Teste 2'),(3,'Teste 3'),(4,'Teste 4'),(5,'Teste 5'),(6,'Teste 6'),(7,'Teste 7'),(8,'Teste 8'),(9,'Teste 9'),(10,'Teste 10');

No MYSQL realizei inserção de mais de 3 mil registros, acredito que o limite pode ser o tempo de execução.

No Oracle não é implementado o comando de insert desta forma, somente possibilitando o insert padrão, insert all ou insert dinâmico. Já no MSSQL(Sql Server) tem limitação de 1000 registros por padrão, caso realize mais, irá apresentar a seguinte mensagem de erro "The number of row value expressions in the INSERT statement exceeds the maximum allowed number of 1000 row values."

Observação:não esqueça de fazer a variável SQL criada receber e concatenar os demais comandos SQL.

Insira seu comentário - Lista Comentários (1)
Últimos Posts

- Aviso que facilitam (Mac)

- Passagem de Parâmetros (Pentaho)

- Ordenar dados JTable (Java)

- java.sql.SQLException: ORA-03115 (Java)

- Teclados Virtuais (Segurança)

- Integração entre Sistemas (Pentaho)

- CFOP (Escrita Fiscal)

- ERROR 2002 (HY000) (MySQL)

- Bookmark (Delphi)

- Mudar o cursor do Mouse (Java)

- Combo dinâmico por select (PHP)

Powered by Tiago Endres Kochenborger
tiagokochenborger@gmail.com
tiagekcode@gmail.com