Esta parte do curso tratará de como inserir, alterar e excluir registros em tabelas. É estritamente necessário que a parte anterior do curso já tenha sido dominada. Para que os comandos sejam bem fixados, recomendo que esse módulo seja estudado em três dias. Estou disponibilizando um tópico adicional, "Controle de Transações". Como o tópico "Trabalhando com Conjuntos" da seção anterior, ele consta aqui mais por caráter informativo.
Inserindo Registros
INSERT INTO aluno VALUES (1,"MARCOS",NULL,NULL,"6.245.664-7",NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,"M","S",NULL,NULL);
INSERT INTO aluno(codaluno,nome,identidade,sexo,estadocivil) VALUES (1,"MARCOS","6.245.664-7","M","S");
INSERT INTO findesconto(codigo,codmatricula,dia) SELECT codmatricula,codmatricula,31 FROM matricula WHERE anoletivoatual=2003 AND status="A"
Atualizando Registros
UPDATE aluno SET estadocivil="S"
UPDATE aluno SET identidade=docreservista, identidadeorgao=docorgao, identidadeestado='DF' WHERE sexo="M" AND docreservista IS NOT NULL
Excluindo Registros
DELETE FROM aluno
DELETE FROM aluno WHERE NOT codaluno IN SELECT codaluno FROM matricula
Controle de Transações
Considero que o Controle de Transações é a característica que diferencia um RDMS de coisas como Access, Fox-pro ou Clipper. Esse é outro tópico em que visualizei diferenças significativas entre os dialetos. No caso, comparo funcionamento do Oracle com o Interbase. No Oracle, apenas os comandos de DML iniciam uma transação. No Interbase, um SELECT também o faz. Isso implica que, no Interbase, uma vez iniciada a transação, será necessário efetivá-la ou cancelá-la para que possamos ver os dados já atualizados e efetivados por outras transações, feitas por outros usuários em outros computadores. No Oracle, temos acesso às atualizações tão logo elas sejam efetivadas por outros. Isso dá um caráter mais "monousuário" ao Interbase, isto é, ele não consegue trabalhar muito bem quando muitos usuários estão acessando a base de dados. Em compensação, exige menos recursos do servidor e a sua instalação é menor. Três disquetes contra um CD inteiro do Oracle. Neste tópico, explanarei superficialmente sobre o Controle de Transações do Interbase.
DELETE FROM finparcelas WHERE codmatricula IN (SELECT codmatricula FROM matricula WHERE codaluno=29967)
DELETE FROM matricula WHERE codaluno=29967
DELETE FROM aluno WHERE codaluno=26697
COMMIT
ROLLBACK
E assim finalizamos a segunda parte do curso.