日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

Oracle数据库基本概念理解(3)

發(fā)布時間:2023/12/3 数据库 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Oracle数据库基本概念理解(3) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
/* =========================================================== | PL/SQL編程 ============================================================ */ --聲明變量 DECLAREV_NAME VARCHAR2(20); --一般變量V_AGE NUMBER(2);v_id SUN.TUSER.USERID%TYPE:=14;--屬性變量v_user SUN.TUSER%ROWTYPE; --行屬性變量 BEGIN--賦常量值V_NAME:='Tom';V_AGE :=20;DBMS_OUTPUT.put_line('姓名:'||V_NAME||'年齡:'||V_AGE);--SELECT * FROM SUN.TUSER;--通過SELECT INTO給變量賦值SELECT USERNAME,USERID INTO V_NAME,V_AGE FROM SUN.TUSER;-- WHERE USERID=v_id;DBMS_OUTPUT.put_line('姓名:'||V_NAME||'年齡:'||V_AGE);--給行屬性變量賦值select * into v_user from sun.tuser where userid=v_id;dbms_output.put_line('----------------------------');dbms_output.put_line(v_user.username);dbms_output.put_line('----------------------------'); EXCEPTION--異常處理WHEN NO_DATA_FOUND THENDBMS_OUTPUT.put_line('用戶編號不正確!');WHEN OTHERS THENDBMS_OUTPUT.put_line('錯誤:'||SQLERRM); END;--循環(huán) /* =========================================================== | 循環(huán)語句 ============================================================ */ declarev_count number:=1; --聲明變量并賦值v_sum number:=0; begin/*loop --loop循環(huán)v_sum:=v_sum+v_count;v_count:=v_count+1;exit when v_count>10;end loop;*//* while v_count<=10 loop --while 循環(huán)v_sum:=v_sum+v_count;v_count:=v_count+1;end loop;*/for i in 1..10 loop --for循環(huán)v_sum:=v_sum+i; end loop; dbms_output.put_line(v_sum); end;/* =========================================================== | 游標(biāo) ============================================================ */DECLARE --聲明游標(biāo)CURSOR USER_CUR ISSELECT USERID,USERNAME FROM SUN.TUSER;V_ID SUN.TUSER.USERID%TYPE;V_NAME SUN.TUSER.USERNAME%TYPE; BEGIN--第一種使用游標(biāo)方式/* OPEN USER_CUR;--打開游標(biāo)LOOP --遍歷游標(biāo)FETCH USER_CUR INTO V_ID,V_NAME;EXIT WHEN USER_CUR%NOTFOUND;DBMS_OUTPUT.put_line('第'||USER_CUR%ROWCOUNT||'個學(xué)生:'||V_ID||' '||V_NAME);END LOOP;close user_cur; --關(guān)閉游標(biāo)*/--第二種使用方式 for 遍歷游標(biāo) 這種方式不用先打開游標(biāo)for v_user in USER_CUR LOOPDBMS_OUTPUT.put_line('第'||USER_CUR%ROWCOUNT||'個學(xué)生:'||v_user.USERID||' '||V_USER.USERNAME);END LOOP; END; /* =========================================================== | 存儲過程 ============================================================ */ --創(chuàng)建存儲過程CREATE or replace PROCEDURE INSERT_USER( V_USERID NUMBER,V_NAME VARCHAR2,V_PWD VARCHAR2)ISBEGININSERT INTO SUN.TUSER(USERID,USERNAME,PWD)VALUES(V_USERID,V_NAME,V_PWD);END;/* =========================================================== | 存儲過程調(diào)用 ============================================================ */ --存儲過程調(diào)用 begin --按位置調(diào)用--INSERT_USER(14,'111','111') ;--按名稱INSERT_USER(V_USERID=>15,V_PWD=>'222',V_NAME=>'222') ; end; --符合規(guī)則的存儲過程CREATE PROCEDURE INSERT_USER2 (V_USERID SUN.TUSER.USERID%TYPE, --使用屬性變量V_NAME SUN.TUSER.USERNAME%TYPE,V_PWD SUN.TUSER.PWD%TYPE,ON_FLAG OUT NUMBER, --輸出參數(shù)ON_MSG OUT VARCHAR2 )ISBEGINON_FLAG:=1;ON_MSG:='添加成功!';INSERT INTO SUN.TUSER(USERID,USERNAME,PWD)VALUES(V_USERID,V_NAME,V_PWD);EXCEPTION --異常處理WHEN OTHERS THEN ON_FLAG:=SQLCODE; --異常代碼ON_MSG:=SQLERRM; --異常信息輸出變量rollback;END; --調(diào)用 DECLAREV_FLAG NUMBER;V_MSG VARCHAR2(100); BEGININSERT_USER2(16,'555','555',V_FLAG,V_MSG );DBMS_OUTPUT.put_line(V_FLAG||V_MSG);-- select * from sun.tuser; END;

總結(jié)

以上是生活随笔為你收集整理的Oracle数据库基本概念理解(3)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。