Bu makale makine çevirisi ayna makalesidir, orijinal makaleye geçmek için lütfen buraya tıklayın.

Görünüm: 12545|Yanıt: 0

[Kaynak] Oracle sistemi önceden tanımlanmış istisnalar ve kullanıcı tanımlı istisnalar

[Bağlantıyı kopyala]
Yayınlandı 19.03.2015 09:28:41 | | |
Tablo oluştur stuinfo1
(
       stuid int birincil anahtar,
       stuname varchar(10) not null,
       Stusex char(2) check(stusex='erkek' veya stusex='dişi'),
       Stubir tarih
);
stuinfo değerlerine ekle ('001','Zhang San','male',to_date ('1999-1-1','yyyy-mm-dd'));
stuinfo değerlerine girin ('002','Reese','male',to_date ('1997-12-1','yyyy-mm-dd'));
stuinfo değerlerine ekle ('003', 'Wang Wu', 'dişi', to_date ('1995-3-4', 'yyyy-mm-dd'));
stuinfo değerlerine ('004','haha','male',to_date ('2000-7-5','yyyy-mm-dd')) ekleyin;
stuinfo değerlerini ('005', 'haha', 'male', to_date ('1993-7-5', 'yyyy-mm-dd')) içine ekle;


--Sistem önceden tanımlanmış istisnalar
ilan etmek
    v_name stuinfo.stuname%type;
Başlamak
    stuinfo'dan stuname'yi v_name'e seç;
--istisna
-- ne zaman too_many_rows sonra
-- dbms_output.put_line('Sorgu sonuçları gereksizdir, atanamıyor');
son;
--kullanıcı tanımlı istisnalar
ilan etmek
    money_error istisna;
    money1 int := 1000;
    money2 int :=& transfer miktarı;
Başlamak
    eğer money1-money2 < 0
       raise_application_error (-20001, 'Yetersiz denge');
       --money_error kaldır;
    else
       dbms_output.put_line('Transfer başarılı');
    bitecek eğer;
--istisna
-- ne zaman money_error
-- dbms_output.put_line('Yetersiz denge');
son;

--önceden tanımlanmamış istisnalar
ilan etmek
    myerror istisnası;
    pragma exception_init(myerror,-1);
Başlamak
    stuinfo değerlerine ('001','aa','female',to_date('1995-3-4','yyyy-mm-dd')) ekleyin;
İstisna
    Hata o zaman
        dbms_output.put_line('Birincil anahtar benzersizliği kısıtlamasının ihlali');
son;

stuinfo1'e değerler (1,'sdf','erkek','');
TB1'den * seçin;
Drop tablosu tb1;
--dinamik SQL
Başlamak
     hemen 'Tablo oluştur tb1(tid int)' çalıştır;
son;

ilan etmek
        sqlString varchar2(200);
        tId int:=2;
Başlamak
        sqlString:='tb1 değerlerini içine ekle (:1)';

        tID kullanarak immediate sqlString'i çalıştırmak;

son;


Stuinfo'dan * seçin;
--Örtük imleç
Başlamak
        DBMS_OUTPUT. PUT_LINE('Eklemeden önce:'|| SQL%ROWCOUNT);
        update stuinfo set stusex = 'erkek';
        DBMS_OUTPUT. PUT_LINE('Ekleydikten sonra:'|| SQL%ROWCOUNT);
SON;






Önceki:Oracle ise string uzunluk fonksiyonlarını length() ve hengthb() alır
Önümüzdeki:VPN'i Redhat Enterprise Server 6.3'te yapılandırma
Feragatname:
Code Farmer Network tarafından yayımlanan tüm yazılım, programlama materyalleri veya makaleler yalnızca öğrenme ve araştırma amaçları içindir; Yukarıdaki içerik ticari veya yasa dışı amaçlarla kullanılamaz, aksi takdirde kullanıcılar tüm sonuçları ödemelidir. Bu sitedeki bilgiler internetten alınmakta olup, telif hakkı anlaşmazlıklarının bu siteyle hiçbir ilgisi yoktur. Yukarıdaki içeriği indirmeden sonraki 24 saat içinde bilgisayarınızdan tamamen silmelisiniz. Programı beğendiyseniz, lütfen orijinal yazılımı destekleyin, kayıt satın alın ve daha iyi orijinal hizmetler alın. Herhangi bir ihlal olursa, lütfen bizimle e-posta yoluyla iletişime geçin.

Mail To:help@itsvse.com