Pessoal, como eu faço para descobrir qual valor está maior que o da coluna...????
urgentemente.
obrigado;
ORA-01401: valor inserido grande demais para a coluna
-
- Rank: Programador Júnior
- Mensagens: 28
- Registrado em: Sex, 09 Dez 2005 9:17 am
- Localização: Itajai-SC
_______________________________________
Thiago Antonio
SCJP - Sun Certified Java Programer
SCJA - Sun Certified Java Associate
Thiago Antonio
SCJP - Sun Certified Java Programer
SCJA - Sun Certified Java Associate
-
- Rank: Programador Júnior
- Mensagens: 28
- Registrado em: Sex, 09 Dez 2005 9:17 am
- Localização: Itajai-SC
_______________________________________
Thiago Antonio
SCJP - Sun Certified Java Programer
SCJA - Sun Certified Java Associate
Thiago Antonio
SCJP - Sun Certified Java Programer
SCJA - Sun Certified Java Associate
este erro só ocorre no cliente, é uma rotina muito complexa e dificil de depurar.
eu queria algum comando ou trigger para pegar o sql que estava rodando e ver o valor das colunas.
eu queria algum comando ou trigger para pegar o sql que estava rodando e ver o valor das colunas.
- dr_gori
- Moderador
- Mensagens: 5026
- Registrado em: Seg, 03 Mai 2004 3:08 pm
- Localização: Portland, OR USA
- Contato:
Thomas F. G
Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered
Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered
Uma idéia é você fazer o seguinte:
Coloca um exception nesse INSERT.
Dentro desse exception, você faz o mesmo insert pra uma tabela com os campos BEM MAIORES que o normal...
Exemplo:
Se o campo é VARCHAR2(15), cria uma tabela com esse campo VARCHAR2(200), etc...
Ou seja, caso der o erro, o exception vai inserir nessa outra tabela. Depois de inserir, você dá um raise e para a aplicação. Daí você pode ver com calma o que está sendo inserido...
Deve existir formas melhores... mas acho que assim você ia conseguir pelo menos saber o que está sendo inserido...
Caso você não queria inserir, coloca um DBMS_OUTPUT pra cada campo no exception... daí roda no sql*plus sua rotina.. :-/
Coloca um exception nesse INSERT.
Dentro desse exception, você faz o mesmo insert pra uma tabela com os campos BEM MAIORES que o normal...
Exemplo:
Se o campo é VARCHAR2(15), cria uma tabela com esse campo VARCHAR2(200), etc...
Ou seja, caso der o erro, o exception vai inserir nessa outra tabela. Depois de inserir, você dá um raise e para a aplicação. Daí você pode ver com calma o que está sendo inserido...
Deve existir formas melhores... mas acho que assim você ia conseguir pelo menos saber o que está sendo inserido...
Caso você não queria inserir, coloca um DBMS_OUTPUT pra cada campo no exception... daí roda no sql*plus sua rotina.. :-/
-
- Rank: Programador Júnior
- Mensagens: 28
- Registrado em: Sex, 09 Dez 2005 9:17 am
- Localização: Itajai-SC
_______________________________________
Thiago Antonio
SCJP - Sun Certified Java Programer
SCJA - Sun Certified Java Associate
Thiago Antonio
SCJP - Sun Certified Java Programer
SCJA - Sun Certified Java Associate
eu imaginei o seguinte.
Alguma forma de fazer isso de uma forma generica.
Porque isso acontece rotineiramente, os programadores acabam esquecendo de limitar os campos e eu fico neste impasse.
eu queria não ter que mecher nas rotinas deles, eu gostaria de fazer tudo no banco, de uma maneira que isso possa ser dinamico.
Alguma forma de fazer isso de uma forma generica.
Porque isso acontece rotineiramente, os programadores acabam esquecendo de limitar os campos e eu fico neste impasse.
eu queria não ter que mecher nas rotinas deles, eu gostaria de fazer tudo no banco, de uma maneira que isso possa ser dinamico.
-
- Informação
-
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante