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;
|