テーブルを作成してください stuinfo1
( stuid int 主キー、 Stuname Varchar(10) 無効ではない、 stusex char(2) チェック(stusex=「男性」または「stusex=女性」)、 ストゥビル・デート ); stuinfoの値を挿入(「001」「張三」「男性」to_date(「1999-1-1」「yyyy-mm-dd」))。 stuinfoの数値に挿入(「002」「リース」「男性」to_date (「1997-12-1', 'yyyy-mm-dd'))); stuinfoの値に挿入(「003'、'Wang Wu'、「female'、to_date('1995-3-4', 'yyyy-mm-dd')); stuinfoの数値に挿入(「004','haha','male'to_date ('2000-7-5','yyyy-mm-dd'))); stuinfoの値を挿入(「005」「haha'「male」to_date(「1993-7-5', 'yyyy-mm-dd」))。
--システムあらかじめ定義された例外 宣言 v_name stuinfo.stuname%type; 開始 stuinfoからStunameをv_name選択; ――例外 ―― too_many_rows -- dbms_output.put_line(「クエリ結果は冗長で割り当てられない」); 終わり; --ユーザー定義例外 宣言 money_error例外は、 money1 int := 1000; マネー2 int :=& 送金金額; 開始 もしマネー1-マネー2<0ならば、 raise_application_error(-20001年、「不十分な残高」); ――レイズmoney_error; そうでなければ dbms_output.put_line(「転送成功」); 終了時には; ――例外 ―― money_error -- dbms_output.put_line(「残高不足」); 終わり;
--非事前定義の例外 宣言 myerror例外; プラグマexception_init(MyError,-1); 開始 STUINFOの値を挿入(「001」「AA」「female」to_date('1995-3-4','yyy-mm-dd'))); 例外 私のエラーなら dbms_output.put_line(「プライマリキー一意性制約の違反」); 終わり;
stuinfo1に値(1,'sdf','male',')を挿入します。 TB1から*を選択; テーブルを落とす TB1; --動的SQL 開始 「create table tb1(tid int)」を即時実行します。 終わり;
宣言 sqlString varchar2(200); tId int:=2; 開始 sqlString:='tb1 値(:1)に挿入する';
tIdを使って即時実行するsqlString;
終わり;
Stuinfoから*を選択してください; --暗黙のカーソル 開始 DBMS_OUTPUT。 PUT_LINE(『挿入前:』||SQL%ROWCOUNT); 更新 stuinfo セット stusex = '男性」; DBMS_OUTPUT。 PUT_LINE(『挿入後:』||SQL%ROWCOUNT); 終わり;
|