| Página |
Descrição da errata |
Postado |
| 265 |
O texto da caixa "Modo multi - padrão do Firebird 1.x" está incorreto. O comportamento do modo de shutdown no Firebird 1.x e no modo multi do Firebird 2.0 é que mesmo quando o banco de dados está em estado de shutdown, o dono do banco ou o SYSDBA pode se conectar a ele sem qualquer problema, inclusive abrindo várias conexões simultâneas. |
08/Ago/06 |
| 162 |
O exemplo correto para a função LOWER é:
select LOWER ('MAÇÃ') from rdb$database;
|
05/Maio/08 |
| 285 |
O item sobre "Next Transaction" menciona que o sweep automatico é disparado quando a diferença entre a NT e a OIT ultrapassa o valor definido. O correto é a diferença entre a OST - OIT. OST = Oldest Snapshot Transaction, OIT = Oldest Interesting Transaction. |
05/Maio/08 - Upd: 27/Maio/10 |
| 159 |
Na função EXTRACT, o livro diz que o parâmetro WEEKDAY retorna 1 para o Domingo. Na verdade, Domingo é retornado como 0 (zero), Segunda =1, etc. |
19/Jan/09 |
| 179 |
O exemplo apresentado para logar uma exceção está incorreto.
Se a intenção é fazer um LOG da exceção que ocorreu, gravando-o em uma tabela do banco, obviamente não podemos dar um re-raise na exceção, pois o insert do log seria desfeito (rollback).
No caso, se a idéia é interromper a execução da procedure, então ao invés de dar um re-raise, use o EXIT.
Segue um exemplo:
CREATE PROCEDURE TESTE
as
declare variable a numeric(15,2);
declare variable x numeric(15,2);
begin
insert into tab1 (campo) values ('insert normal');
a = 0;
x = 1 / a; -- forca dar um erro (divisao por zero)
when any do
begin
insert into LOG (mensagem) values ('ERRO ao executar procedure blablabla'); -- loga o problema na tabela LOG
/* exception; <- Nao podemos dar um re-raise, pois cancelaria o insert na tabela de log */
exit; -- sai da procedure. O insert em tab1 nao sera gravado por causa da exceção que ocorreu
end
end
|
04/Fev/09 |
Copyright (C) Carlos H. Cantu - É proibida a reprodução de qualquer material desse site sem autorização prévia