oracle, stored procedure, cursor
CREATE OR REPLACE PROCEDURE kevin_proc(x varchar) IS
a VARCHAR(20);
b VARCHAR(20);
CURSOR mycur(rn NUMBER) IS SELECT * from t_kevin_test WHERE ROWNUM<rn;
BEGIN
OPEN mycur(10);
LOOP FETCH mycur INTO a,b;
EXIT WHEN mycur%NOTFOUND;
Dbms_Output.put_line('a: '||a);
Dbms_Output.put_line('b: '||b);
END LOOP;
CLOSE mycur;
begin
dbms_output.put_line (x);
end;
END;
Ïà¹ØÎĵµ£º
ÔÚ¹úÄÚÍâÐí¶àOracle DBAÕ¾µãÉÏ£¬Óкܶà²éÕÒ±íÖеÚn¸ö×î´óÖµµÄС¼¼ÇÉ£¬ÕâЩÓï¾äȷʵÏ൱ÇÉÃËüÃǶ¼¶À±Ùõè¾¶µØÓõ½ÁËOracle±íÖеÄÒ»¸öα×ֶΓlevel”¡£µ«ÊÇÔںܶàÇé¿öÏ£¬Õâ¸öÓï¾ä±ä³ÉÁË ÃÀÀöµÄÏÝÚå¡£Èç¹ûÄãÏëÖªµÀΪʲô£¬²¢ÔõÑùÈÆ¹ýËü£¬ÇëÌýÎÒµÀÀ´£¡
Ñо¿Á˼¸Ì죬ÎÒ·¢ÏÖÒ»ÖÖÑÜÉúËã·¨£¬¼´ÕÒ³öµÚn¸öºÍµÚm¸ö×î´óÖ ......
Oracle ±íɾ³ý´óÁ¿Êý¾Ýºó£¬¼´Ê¹±íÖÐÖ»Óм¸ÐмǼ£¬µ«ÓÃselect count(*) from table À´²éѯ·¢¾õ¶¼²»»áÂíÉϳöÀ´£¬ÔÒòÊǸñíµÄ¿Õ¼ä´óÁË£¬²éѯÆðÀ´ºÜÂý¡£½â¾öµÄ·½·¨ÊǰѸñíËùÕ¼Óõıí¿Õ¼äËõС£¬»òÕß˵Êͷűí¿Õ¼ä¡£
alter table XXXX move; ÕâÑù´¦Àíºó¾ÍÊÍ·ÅÁ˱í¿Õ¼äÁË¡£µ«ÊÇÊͷűí¿Õ¼äºó£¬±íµÄÐкÅrowid»á·¢Éú±ä»¯£¬¶ø»ùÓÚ ......
truncate,delete,dropµÄÒìͬµã
×¢Òâ:ÕâÀï˵µÄdeleteÊÇÖ¸²»´øwhere×Ó¾äµÄdeleteÓï¾ä
Ïàͬµã:truncateºÍ²»´øwhere×Ó¾äµÄdelete, ÒÔ¼°drop¶¼»áɾ³ý±íÄÚµÄÊý¾Ý
²»Í¬µã:
1. truncateºÍ deleteֻɾ³ýÊý¾Ý²»É¾³ý±íµÄ½á¹¹(¶¨Òå)
dropÓï¾ä½«É¾³ý±íµÄ½á¹¹±»ÒÀÀµµÄÔ¼Êø(constrain),´¥·¢Æ÷(trigger),Ë÷Òý(index); ÒÀÀµÓÚ¸Ã±íµ ......
ͨ¹ý select * from table whereid=16701 for update Ëø×¡Ò»Õűí
ͨ¹ýÒÔÏÂÓï¾ä¿É²éѯ³ö±»Ëø×¡µÄ¶ÔÏó
SELECT OBJECT_ID,
SESSION_ID,
SERIAL#,
ORACLE_USERNAME,
&nb ......