ORACLE ͨ¹ýÓαêʹÓÃÀ´Á˽âcursor µÄºÃ´¦£¡
ÓÐÁËÓα꣬¾Í¿ÉÒÔ²»ÓÃÿÌõÊý¾ÝÈ¥¼ì²éÊÇ·ñ·ûºÏÌõ¼þ£¬ÏÈ¿´Ò»ÏÂÏÂÃæµÄ£º
--ÓαêʹÓã¨ÓαêÆäʵÊÇÒ»¸ö·ÅÈëÄÚ´æÁÙʱ±í£©
declare
money cms3_simcard.card_fee%type :=0; --¶¨ÒåÓë±í×Ö¶ÎÏàͬÀàÐÍ
cursor mycursor is --¶¨ÒåÓαê
select * from cms3_simcard
where return_flag = 1 and msisdn like '138%';
my_record mycursor%rowtype; --¶¨ÒåÓαê¼Ç¼ÀàÐÍ
Counter int :=0;
begin
open mycursor; --´ò¿ªÓαê
if mycursor%isopen then --Åжϴò¿ª³É¹¦
loop --Ñ»·»ñÈ¡¼Ç¼¼¯
fetch mycursor into my_record; --»ñÈ¡ÓαêÖеļǼ
if mycursor%found then --ÓαêµÄfoundÊôÐÔÅжÏÊÇ·ñÓмǼ
dbms_output.put_line(my_record.card_fee);
else
exit;
end if;
end loop;
else
dbms_output.put_line('ÓαêûÓдò¿ª');
end if;
close mycursor;
end;
Ïà¹ØÎĵµ£º
¹Ø¼ü´Ê:
°ó¶¨±äÁ¿(binding variable),¹²Ïí³Ø(shared buffer pool), SGA(system global area);
ÔÚ¿ª·¢Ò»¸öÊý¾Ý¿â
ϵͳǰ,ÓÐ˶ÔOracle ϵͳÁ˽âºÜ¶à,ÓÈÆäÊÇËüµÄÌØÐÔ,ºÃÏóºÜÉÙ°É;¶Ô³õѧÕßÀ´½²,Õâ¸üÊDz»¿ÉÄܵÄÊÂÇé;½ö½ö¼òµ¥ÕÆÎÕÁËSQL
µÄд·¨,¾Í¿ªÊ¼ÁËÊý¾Ý¿âµÄ¿ª·¢,Æä½á¹ûÖ»ÄÜÊÇ¿ª·¢Ò»¸öûÓÐЧÂÊ,ҲûÓпÉÀ©Õ¹µÄϵͳ;
j8m ......
Ò»¸öÓû§¿ÉÒÔʹÓÃÒ»¸ö»ò¶à¸ö±í¿Õ¼ä£¬Ò»¸ö±í¿Õ¼äÒ²¿ÉÒÔ¹©¶à¸öÓû§Ê¹Óá£Óû§ºÍ±í¿Õ¼äûÓÐÁ¥Êô¹ØÏµ£¬±í¿ÕÊÇÒ»¸öÓÃÀ´¹ÜÀíÊý¾Ý´æ´¢Âß¼¸ÅÄ±í¿Õ¼äÖ»ÊǺÍÊý¾ÝÎļþ·¢Éú¹ØÏµ£¬Êý¾ÝÎļþÊÇÎïÀíµÄ£¬Ò»¸ö±í¿Õ¼ä¿ÉÒÔ°üº¬¶à¸öÊý¾ÝÎļþ£¬¶øÒ»¸öÊý¾ÝÎļþÖ»ÄÜÁ¥ÊôÒ»¸ö±í¿Õ¼ä¡£
Óû§ÊôÓÚÊý¾Ý¿âʵÀýµ ......
¸Ðл¶ÁÕß¿´¡¶Oracle´óÐÍÊý¾Ý¿âϵͳÔÚAIXUNIXÉϵÄʵսÏê½â¡·Õâ±¾Ê飬ÕâÀï»Ø´ðһЩ¶ÁÕßÓʼþÌá³öµÄÒ»¸ö½ÏΪ¹«¹²µÄÎÊÌ⣺ASMÓÐʲôÓã¿ÎªÊ²Ã´Óã¿ ASMÊÇOracle´Ó10g¿ªÊ¼ÌṩµÄÒ»ÖÖ´æ´¢¹ÜÀí¼¼Êõ£¬Ö¸µÄÊÇÒ»¸öÔÚÎïÀí¾í£¨»òÕß´ÅÅÌ·ÖÇø£©ÉÏÌØ±ðΪOracleÊý¾ÝÎļþ¶ø´´½¨µÄ¡°×¨Óá±Îļþϵͳ¡£¸ÃÎļþϵͳÓÉOracleÄÚºËά ......
µÚ1Ò³
1. Oracle µÄʹÓÃ
1.1. SQLPLUS µÄÃüÁî
³õʼ»¯±íµÄλÖãº
set
NLS_LANG=american_america.us7ascii (ÉèÖñàÂë²Å¿ÉÒÔʹÓÃÏÂÃæ½Å±¾)
cd
$ORACLE_HOME/rdbms cd demo summit2.sql
********* ......
ORACLE SQLÐÔÄÜÓÅ»¯ÏµÁÐ
1. ·ÃÎÊTableµÄ·½Ê½
ORACLE ²ÉÓÃÁ½ÖÖ·ÃÎʱíÖмǼµÄ·½Ê½:
a. È«±íɨÃè
È«±íɨÃè¾ÍÊÇ˳ÐòµØ·ÃÎʱíÖÐÿÌõ¼Ç¼. ORACLE²ÉÓÃÒ»´Î¶ÁÈë¶à¸öÊý¾Ý¿é(database block)µÄ·½Ê½ÓÅ»¯È«±íɨÃè.
b. ͨ¹ýROWID·ÃÎʱí
Äã¿ÉÒÔ²ÉÓûùÓÚROWIDµÄ·ÃÎÊ·½Ê½Çé¿ö,Ìá¸ß·ÃÎʱíµÄЧÂÊ, , ROWID°üº¬Á˱íÖмǼµ ......