quarta-feira, 9 de janeiro de 2008

PostgreSQL - Inserindo múltiplas linhas só depois da versão 8.2

A batalha de hoje foi contra um velho costume (mal) adquirido do MySQL.

Criei uma tabela muito simples no PostgreSQL através do psql, na linha de comando mesmo.

CREATE TABLE pessoas (
id INT,
nome varchar(40),
sexo char(1)
);


Incluí um registro. Ótimo. Depois tentei incluir mais de um com um comando só:

INSERT INTO pessoas (id, nome, sexo) VALUES (2, 'José', 'M'), (3, 'Maria', 'F');


E ganhei um erro próximo dá vírgula.

...('M'), (3,...
^


Não ia nem com reza. Horas de pesquisa depois descobri algumas coisas interessantes.
1 - Esse tipo de construção não faz parte da norma SQL.
2 - Ela é popular devido ao popular MySQL (que disponibiliza essa construção como válida) e do seu fiel parceiro phpMyAdmin (que além de permitir a inclusão de múltiplos registros, ainda mostra o código SQL que foi executado, para todo mundo aprender como se faz!).
3 - Este tipo de construção é aceita pelo PostgreSQL 8.2 ou posterior. O server que tenho é o 8.1. E o manual que eu estava lendo do 8.3!
4 - Vou dar uma estudada em Java ou Shell Script para relaxar.

Té+
-----------
keepReading

Nenhum comentário:

Postar um comentário