Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy

Ako nájsť neplatnosť číslo v Oracle tabuľky

Neplatné údaje v tabuľkách Oracle môže byť frustrujúce a spôsobiť dobre tvarované kód správať v nečakané a nežiaduce spôsoby , čo má za následok Oracle ORA - 01722 chyba . Neplatné číslo chyby v Oracle vzniká , niekedy aj v zdanlivo náhodnom spôsobom , kedy je SQL kód napísal , že používa znak založený na stĺpec pre matematické operácie a non - numerický znak sa stretol . Aby toho nebolo málo , táto chyba nie je vždy nastať , aj keď podmienky pre to sú splnené . Je to predovšetkým kvôli spôsobu , akým je tabuľka prejsť , keď je snímaný na zodpovedajúce dáta . Veci , ktoré budete potrebovať
databázy Oracle
tabuľky s VARCHAR2 stĺpca
dát ako číselné a non - číselného typu v stĺpci
VARCHAR2
Zobraziť ďalšie inštrukcie
Vyvarujte sa chýb pred sa to stane
1

Vytvorte tabuľku s presne stanoveným stĺpci . Napríklad :

CREATE TABLE numbers_and_words klipart

( number_col AS čísla ,

word_col AS VARCHAR2 ( 100 ) )
2

Program aplikácie len miesto číselných údajov v number_col stĺpci a znaková dáta v word_col stĺpci .
3

Vytvorte Skontrolujte stav na aplikáciu, ktorá zaisťuje číselné dáta sa neprenášajú do number_col stĺpci . Oracle umožní charakter zastúpenia rady , ktoré majú byť uložené v stĺpec znak .
Obísť ho dovolenka 4

Napíšte funkciu chytiť non - číselné dáta . Príklad :

CREATE FUNCTION funkciu is_numeric ( str IN VARCHAR2 )

RETURN NUMBER

IS

num ČÍSLO ;

BEGIN

num : = TO_NUMBER ( str) ;

return 1 ;

VÝNIMKA

WHEN OTHERS THEN

return 0 ;

END ;
5

Napísať názor , že používa funkciu na vytvorenie zastúpenia stola , bez toho, aby non - číselné dáta . Za predpokladu , že názov tabuľky je t1 a kolóna sa zmiešaným dát sa nazýva " mixed_col , " numeric - len pohľad by mohol byť napísaný takto :

CREATE VIEW numbersonly AS

SELECT FROM mixed_col t1

KDE funkciu is_numeric ( mixed_col ) = 1
6

Použite numbersonly zobrazenie v dotazoch , ktoré potrebujú k tomu číselnej založené operácie na stĺpiku . Napríklad :

SELECT * FROM numbersonly

KDE mixed_col > 35

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené