opprett tabell stuinfo1
( stuid int primærnøkkel, stuname varchar(10) ikke null, Stusex karakter(2) sjekk (stusex='hann' eller stusex='kvinne'), Stubir-dato ); sett inn i stuinfo-verdier ('001', 'Zhang San', 'mann', to_date ('1999-1-1','yyyy-mm-dd')); sett inn i stuinfo-verdier ('002','Reese','mann',to_date ('1997-12-1','yyyy-mm-dd')); sett inn i stuinfo-verdier ('003', 'Wang Wu', 'female', to_date ('1995-3-4', 'yyyy-mm-dd')); sett inn i stuinfo-verdier ('004','haha','mann',to_date ('2000-7-5','yyyy-mm-dd')); sett inn i stuinfo-verdier ('005', 'haha', 'mann', to_date ('1993-7-5', 'yyyy-mm-dd'));
--System forhåndsdefinerte unntak Erklær v_name stuinfo.stuname%type; Begynn velg Stuname i v_name fra Stuinfo; --unntak -- når too_many_rows da -- dbms_output.put_line('Spørringsresultater er overflødige, kan ikke tildeles'); slutt; --brukerdefinerte unntak Erklær money_error unntak; money1 int := 1000; money2 int :=& overføringsbeløp; Begynn Hvis money1-money2 < 0, så raise_application_error (-20001, 'Utilstrekkelig balanse'); --hev money_error; ellers dbms_output.put_line('Overføring vellykket'); slutt hvis; --unntak -- når money_error da -- dbms_output.put_line('Utilstrekkelig saldo'); slutt;
--ikke-forhåndsdefinerte unntak Erklær MyError-unntak; Pragma exception_init(min feil,-1); Begynn sett inn i stuinfo-verdier ('001','aa','female',to_date('1995-3-4','yyyy-mm-dd')); unntak når myerror da dbms_output.put_line('Brudd på primærnøkkelens unikhetsbegrensning'); slutt;
sett inn i stuinfo1-verdier (1,'SDF','mann',''); velg * fra TB1; Drop-tabell TB1; --dynamisk SQL Begynn utfør umiddelbart 'create table tb1(tid int)'; slutt;
Erklær sqlString varchar2(200); tId int:=2; Begynn sqlString:='sett inn i tb1-verdier (:1)';
kjør umiddelbar sqlString med tId;
slutt;
velg * fra stuinfo; --Implisitt markør Begynn DBMS_OUTPUT. PUT_LINE('Før innsetting:'|| SQL%RADTELLING); oppdatering stuinfo-sett stusex = 'mann'; DBMS_OUTPUT. PUT_LINE('Etter innsetting:'|| SQL%RADTELLING); SLUTT;
|