Como lidar com erros de sql com sqlstate
Video: ERROS AO LIDAR COM O DINHEIRO | QUE VOCÊ NÃO PODE FAZER!
Conteúdo
SQLSTATE especifica um grande número de condições anômalas em SQL. SQLSTATE é uma seqüência de cinco caracteres em que apenas as letras maiúsculas UMA através Z e os algarismos de 0 a 9 são caracteres válidos. A seqüência de cinco caracteres é dividida em dois grupos: um código de classe de dois caracteres e um código de subclasse de três caracteres.
O código de classe contém um status após a conclusão de uma instrução SQL. Esse status pode indicar a conclusão com êxito da declaração, ou um de uma série de grandes tipos de condições de erro. O código de subclasse fornece detalhes adicionais sobre esta execução particular do comunicado.
O padrão SQL define qualquer código classe que começa com as letras UMA através H ou os algarismos de 0 a 4-, por conseguinte, esses códigos de classe significam a mesma coisa, em qualquer aplicação. códigos de classe que começam com as letras Eu através Z ou os numerais 5 a 9 são deixadas abertas para implementadores de definir porque a especificação SQL não pode antecipar todas as condições que podem surgir em cada implementação.
No entanto, implementadores deve usar esses códigos de classe fora do padrão tão pouco quanto possível para evitar problemas de migração de um DBMS para outro. Idealmente, implementadores devem utilizar os códigos padrão na maioria das vezes e os códigos fora do padrão somente sob as circunstâncias mais incomuns.
Um código de classe 00 indica a conclusão bem sucedida. código de classe 01 significa que a instrução foi executada com êxito, mas produziu um aviso. código de classe 02 indica uma condição de não dados. Qualquer SQLSTATE código de classe diferente 00, 01, ou 02 indica que a declaração não foi executado com sucesso.
Porque SQLSTATE atualizações após cada operação SQL, você pode verificá-la após cada instrução é executada. E se SQLSTATE contém 00000 (Conclusão), você pode prosseguir com a operação seguinte. Se ele contém qualquer outra coisa, você pode querer a ramificar-se da linha principal de seu código para lidar com a situação. O código e subclasse código de classe específica de que um SQLSTATE contém determinar qual das várias acções possíveis que você deve tomar.
Usar SQLSTATE em um programa de idioma módulo, incluem uma referência a ele em suas definições de procedimento, como mostra o seguinte exemplo:
NUTRIENTE PROCEDIMENTO (SQLSTATE,: CHAR foodname (20),: calorias SMALLINT,: DECIMAL proteína (5,1),: DECIMAL gordura (5,1) ,: DECIMAL carbo (5,1)) INSERIDA EM ALIMENTOS (FoodName, calorias , proteína, gordura, carboidratos) VALUES (: foodname,: calorias, proteínas:,: gordura,: carbo) -
No local apropriado em seu programa de linguagem procedural, você pode fazer os valores disponíveis para os parâmetros (talvez solicitando-los do usuário) e, em seguida, chamar o procedimento. A sintaxe desta operação varia de uma língua para outra, mas é algo como isto:
Video: Oracle Database Tutorial 70: IO ERROR: The network adapter could not establish the connection
foodname = "Quiabo, fervida" -calories = 29 = 2,0-proteína -fat = 0,3 -carbo = 6,0 -NUTRIENT (estado, foodname, calorias, proteína, gordura, carbo) -
O Estado de SQLSTATE é devolvido na variável Estado. Seu programa pode examinar essa variável e, em seguida, tomar as medidas adequadas com base no conteúdo da variável.