oracle´ø²ÎÊýÓαêµÄʹÓÃ
¡¡¡¡´ÓÓαêÌáÈ¡Êý¾Ý
¡¡¡¡´ÓÓαêµÃµ½Ò»ÐÐÊý¾ÝʹÓÃFETCHÃüÁÿһ´ÎÌáÈ¡Êý¾Ýºó£¬Óα궼ָÏò½á¹û¼¯µÄÏÂÒ»ÐС£Óï·¨ÈçÏ£º
FETCH cursor_name INTO variable[,variable,...]
¡¡¡¡¶ÔÓÚSELECT¶¨ÒåµÄÓαêµÄÿһÁУ¬FETCH±äÁ¿ÁÐ±í¶¼Ó¦¸ÃÓÐÒ»¸ö±äÁ¿ÓëÖ®Ïà¶ÔÓ¦£¬±äÁ¿µÄÀàÐÍÒ²ÒªÏàͬ¡£
¡¡¡¡Àý£º
SET SERVERIUTPUT ON
DECLARE
v_ename EMP.ENAME%TYPE;
v_salary EMP.SALARY%TYPE;
CURSOR c_emp IS SELECT ename,salary from emp;
BEGIN
OPEN c_emp;
FETCH c_emp INTO v_ename,v_salary;
DBMS_OUTPUT.PUT_LINE('Salary of Employee'|| v_ename
||'is'|| v_salary);
FETCH c_emp INTO v_ename,v_salary;
DBMS_OUTPUT.PUT_LINE('Salary of Employee'|| v_ename
||'is'|| v_salary);
FETCH c_emp INTO v_ename,v_salary;
DBMS_OUTPUT.PUT_LINE('Salary of Employee'|| v_ename
||'is'|| v_salary);
CLOSE c_emp;
END
¡¡¡¡Õâ¶Î´úÂëÎÞÒÉÊǷdz£Âé·³µÄ£¬Èç¹ûÓжàÐзµ»Ø½á¹û£¬¿ÉÒÔʹÓÃÑ»·²¢ÓÃÓαêÊôÐÔΪ½áÊøÑ»·µÄÌõ¼þ£¬ÒÔÕâÖÖ·½Ê½ÌáÈ¡Êý¾Ý£¬³ÌÐòµÄ¿É¶ÁÐԺͼò½àÐÔ¶¼´óΪÌá¸ß£¬ÏÂÃæÎÒÃÇʹÓÃÑ»·ÖØÐÂдÉÏÃæµÄ³ÌÐò£º
SET SERVERIUTPUT ON
DECLARE
v_ename EMP.ENAME%TYPE;
v_salary EMP.SALARY%TYPE;
CURSOR c_emp IS SELECT ename,salary from emp;
BEGIN
OPEN c_emp;
LOOP
FETCH c_emp INTO v_ename,v_salary;
EXIT WHEN c_emp%NOTFOUND;
DBMS_OUTPUT.PUT_LINE('Salary of Employee'|| v_ename
||'is'|| v_salary);
END
¡¡¡¡¼Ç¼±äÁ¿
¡¡¡¡¶¨ÒåÒ»¸ö¼Ç¼±äÁ¿Ê¹ÓÃTYPEÃüÁîºÍ%ROWTYPE£¬¹ØÓÚ%ROWsTYPEµÄ¸ü¶àÐÅÏ¢Çë²ÎÔÄÏà¹Ø×ÊÁÏ¡£
¡¡¡¡¼Ç¼±äÁ¿ÓÃÓÚ´ÓÓαêÖÐÌáÈ¡Êý¾ÝÐУ¬µ±ÓαêÑ¡ÔñºÜ¶àÁеÄʱºò£¬ÄÇôʹÓüǼ±ÈΪÿÁÐÉùÃ÷Ò»¸ö±äÁ¿Òª·½±ãµÃ¶à¡£
¡¡¡¡µ±ÔÚ±íÉÏʹÓÃ%ROWTYPE²¢½«´ÓÓαêÖÐÈ¡³öµÄÖµ·ÅÈë¼Ç¼ÖÐʱ£¬Èç¹ûҪѡÔñ±íÖÐËùÓÐÁУ¬ÄÇôÔÚSELECT×Ó¾äÖÐʹÓÃ*±È½«ËùÓÐÁÐÃûÁгöÀ´Òª°²È«µÃ¶à¡£
¡¡¡¡Àý£º
SET SERVERIUTPUT ON
DECLARE
R_emp EMP%ROWTYPE;
CURSOR c_emp IS SELECT * from emp;
BEGIN
OPEN c_emp;
LOOP
FETCH c_emp INTO r_emp;
EXIT WHEN c_emp%NOTFOUND;
DBMS_OUT.PUT.PUT_LINE('Salary of Employee'||r_emp.ename||'is'|| r_emp.salary);
END LOOP;
CLOSE c_emp;
END;
¡¡¡¡%ROWTYPEÒ²¿ÉÒÔÓÃÓαêÃûÀ´¶¨Ò壬ÕâÑùµÄ»°¾Í±ØÐëÒªÊ×ÏÈÉùÃ÷Óα꣺
SET SERVERIUTPUT ON
DECLARE
CURSOR c_emp IS SELECT ename,sala
Ïà¹ØÎĵµ£º
CREATE OR REPLACE PROCEDURE PROC_T(
RESULT OUT NUMBER
)
IS
V_NAME emp%ROWTYPE;
CURSOR CUS_T IS SELECT * from EMP;
BEGIN
OPEN CUS_T;
loop
FETCH CUS_T INTO V_NAME;
exit when cus_t%notfound;
RESULT:=CUS_T%ROWCOUNT;
end loop;
CLOSE CUS_T;
END PROC_T; ......
OracleÖ±·½Í¼½âÎö
Ò»¡¢ ºÎνֱ·½Í¼£º
Ö±·½Í¼ÊÇÒ»ÖÖͳ¼ÆÑ§ÉϵŤ¾ß£¬²¢·ÇOracleרÓС£Í¨³£ÓÃÓÚ¶Ô±»¹ÜÀí¶ÔÏóµÄij¸ö·½ÃæµÄÖÊÁ¿Çé¿ö½øÐйÜÀí£¬Í¨³£Çé¿öÏÂËü»á±íÏÖΪһÖÖ¼¸ºÎͼÐÎ±í£¬Õâ¸öͼÐαíÊǸù¾Ý´Óʵ¼Ê»·¾³ÖÐËùÊÕ¼¯À´µÄ±»¹ÜÀí¶ÔÏóij¸ö·½ÃæµÄÖÊÁ¿·Ö²¼Çé¿öµÄÊý¾ÝËù»æÖƳɵģ¬Í¨³£»á»³ÉÒÔÊýÁ¿Îªµ×±ß£¬ÒÔÆ ......
Oracle°²×°Æª
°æ±¾£ºwin32_11gR1_database_1013
ϵͳ£ºwin7
Äڴ棺3g£¨Å¼×Ô¼ºµØ-0-£©
1¡¢ÒòΪ²Ù×÷ϵͳѡÔñÁËwin7£¬ËùÒÔÔÚ°²×°Ö®Ñ¡ÐèÒªÐÞ¸ÄÒ»ÏÂÅäÖÃÎļþ£¬database\stage\prereq\db\refhost.xml
2¡¢ÐÞ¸ÄÍêÅäÖÃÎļþºó£¬µãinstall°²×°¼´¿É£¬µÈdos½çÃæ¼ÓÔØÍêºóÌø³öÈçϽçÃæ
3¡¢ÏÂÒ»²½
4¡¢Ñ¡ÔñÆóÒµ°æ£¬È»ºó ......
È«Êý¾Ý¿â±¸·Ý½¨ÒéÓÃoracle×Ô´øµÄ expÃüÁî¡£
µ¼Ä³ÕűíµÄ»°£¬»òÕß±¸·Ýij¸öÓû§µÄÐÅÏ¢£¬¿ÉÒÔµ½
Tool-¡·export table µ¼±í
Tool-¡·export user object µ¼Óû§µÄÊý¾Ý¡£
-----------------------------------------------------------------------------------------
ÔÚoracleÖÐ,Ö´ÐÐsqlÎļþ,¿ÉÒÔдһ¸öÅú´¦ÀíÎļþ
sqlplus& ......