Oracle PL/SQL鍏ラ棬涔嬫叏杩--(3)
鍙戝竷: 2008-12-05 15:34 | 浣滆: 缃戠粶杞浇 | 鏉ユ簮: 缃戠粶杞浇 | 鏌ョ湅: 28娆
銆銆PL/SQL涓殑杩囩▼鍜屽嚱鏁颁笌鍏朵粬璇█鐨勮繃绋嬪拰鍑芥暟鐨勬蹇典竴鏍凤紝閮芥槸涓轰簡鎵ц涓瀹氱殑浠诲姟鑰岀粍鍚堝湪涓璧风殑璇彞銆傝繃绋嬫棤杩斿洖鍊硷紝鍑芥暟鏈夎繑鍥炲笺傚叾璇硶缁撴瀯涓猴細
銆銆杩囩▼锛欳reate or replace procedure procname(鍙傛暟鍒楄〃) as PL/SQL璇彞鍧
銆銆鍑芥暟锛欳reate or replace function funcname(鍙傛暟鍒楄〃) return 杩斿洖鍊 as PL/SQL璇彞鍧
銆銆杩欓噷涓轰簡鏇翠负鏂归潰鐨勮鏄庤繃绋嬬殑杩愮敤锛屼笅闈㈢粰鍑轰竴涓ず渚嬶細
銆銆闂锛氬亣璁炬湁涓寮犺〃t1锛屾湁f1鍜宖2涓や釜瀛楁锛宖1涓簄umber绫诲瀷锛宖锛掍负varchar2绫诲瀷锛岀劧鍚庡線t锛戦噷鍐欎袱鏉¤褰曪紝鍐呭鑷畾銆
Create or replace procedure test_procedure as
V_f11 number :=1; /*澹版槑鍙橀噺骞惰祴鍒濆*/
V_f12 number :=2;
V_f21 varchar2(20) :=鈥檉irst鈥;
V_f22 varchar2(20) :=鈥檚econd鈥;
Begin
Insert into t1 values (V_f11, V_f21);
Insert into t1 values (V_f12, V_f22);
End test_procedure; /*test_procedure鍙互鐪佺暐*/
銆銆鑷虫锛宼est_procedure瀛樺偍杩囩▼宸茬粡瀹屾垚锛岀劧鍚庣粡杩囩紪璇戝悗灏卞彲浠ュ湪鍏朵粬PL/SQL鍧楁垨鑰呰繃绋嬩腑璋冪敤浜嗐傜敱浜庡嚱鏁颁笌杩囩▼鍏锋湁寰堝ぇ鐨勭浉浼兼э紝鎵浠ヨ繖閲屽氨涓嶅啀閲嶅浜嗐
銆銆鍥涖佹父鏍
銆銆杩欓噷鐗瑰埆鎻愬嚭娓告爣鐨勬蹇碉紝鏄洜涓哄畠鍦≒L/SQL鐨勭紪绋嬩腑闈炲父鐨勯噸瑕併傚叾瀹氫箟涓猴細鐢ㄦ父鏍囨潵鎸囦唬涓涓狣ML銆SQL鎿嶄綔杩斿洖鐨勭粨鏋滈泦銆傚嵆褰撲竴涓鏁版嵁搴撶殑鏌ヨ鎿嶄綔杩斿洖涓缁勭粨鏋滈泦鏃讹紝鐢ㄦ父鏍囨潵鏍囨敞杩欑粍缁撴灉闆嗭紝浠ュ悗閫氳繃瀵规父鏍囩殑鎿嶄綔鏉ヨ幏鍙栫粨鏋滈泦涓殑鏁版嵁淇℃伅銆傚畾涔夋父鏍囩殑璇硶缁撴瀯濡備笅锛
cursor cursor_name is SQL璇彞;
銆銆鍦ㄦ湰鏂囩涓娈典唬鐮佷腑鏈変竴鍙ヨ瘽濡備笅锛
cursor c_emp is select * from employee where emp_id=3;
銆銆鍏跺惈涔夋槸瀹氫箟涓涓父鏍嘽_emp锛屽叾浠h〃鐫employee琛ㄤ腑鎵鏈塭mp_id瀛楁涓猴紦鐨勭粨鏋滈泦銆傚綋闇瑕佹搷浣滆缁撴灉闆嗘椂锛屽繀椤诲畬鎴愪笁姝ワ細鎵撳紑娓告爣銆佷娇鐢╢etch璇彞灏嗘父鏍囬噷鐨勬暟鎹彇鍑恒佸叧闂父鏍囥傝鍙傜収鏈枃绗竴娈典唬鐮佺殑娉ㄩ噴鐞嗚В娓告爣鎿嶄綔鐨勪笁姝ラ銆
銆銆浜斻佸叾浠栨蹇
銆銆PL/SQL涓寘鐨勬蹇靛緢閲嶈锛屼富瑕佹槸瀵逛竴缁勫姛鑳界浉杩戠殑杩囩▼鍜屽嚱鏁拌繘琛屽皝瑁咃紝绫讳技浜庨潰鍚戝璞′腑鐨勫悕瀛楃┖闂寸殑姒傚康銆
銆銆瑙﹀彂鍣ㄦ槸涓绉嶇壒娈婄殑瀛樺偍杩囩▼锛屽叾璋冪敤鑰呮瘮杈冪壒娈婏紝鏄綋鍙戠敓鐗瑰畾鐨勪簨浠舵墠琚皟鐢紝涓昏鐢ㄤ簬澶氳〃涔嬮棿鐨勬秷鎭氱煡銆
銆銆鍏佽皟璇曠幆澧
銆銆PL/SQL鐨勮皟璇曠幆澧冪洰鍓嶆瘮杈冨锛岄櫎浜哋racle鑷甫鏈夎皟璇曠幆澧僑ql*plus浠ュ锛屾湰浜烘帹鑽怲OAD杩欎釜宸ュ叿锛岃宸ュ叿鐢ㄦ埛鐣岄潰鍙嬪ソ锛屽彲浠ユ彁楂樼▼搴忕殑缂栧埗鏁堢巼銆
銆銆鏈枃涓昏璁茶ВPL/SQL鐨勫熀纭閮ㄥ垎锛岀啛鎮夎繖閮ㄥ垎鍐呭鍚庡彲浠ヨ繘琛屽瓨鍌ㄨ繃绋嬬殑缂栧啓鍜屽簲鐢紝瀵逛簬鎻愰珮鏁版嵁搴撴湇鍔″櫒绔殑鎵ц鏁堢巼寰堟湁甯姪銆




发表于 2009-1-5 19:48
| 











