ʵÀý¶Ô±ÈOracleÖÐtruncateºÍdeleteµÄÇø±ð
ʵÀý¶Ô±ÈOracleÖÐtruncateºÍdeleteµÄÇø±ð
ɾ³ý±íÖеÄÊý¾ÝµÄ·½·¨ÓÐdelete,truncate,
ËüÃǶ¼ÊÇɾ³ý±íÖеÄÊý¾Ý,¶ø²»ÄÜɾ³ý±í½á¹¹,delete ¿ÉÒÔɾ³ýÕû¸ö±íµÄÊý¾ÝÒ²¿ÉÒÔɾ³ý±íÖÐijһÌõ»òNÌõÂú×ãÌõ¼þµÄÊý¾Ý,¶øtruncateÖ»ÄÜɾ³ýÕû¸ö±íµÄÊý¾Ý,Ò»°ãÎÒÃǰÑdelete ²Ù×÷ÊÕ×÷ɾ³ý±í,¶øtruncate²Ù×÷½Ð×÷½Ø¶Ï±í.
truncate²Ù×÷Óëdelete²Ù×÷¶Ô±È
²Ù×÷
»Ø¹ö
¸ßË®Ïß
¿Õ¼ä
ЧÂÊ
Truncate
²»ÄÜ
Ͻµ
»ØÊÕ
¿ì
delete
¿ÉÒÔ
²»±ä
²»»ØÊÕ
Âý
ÏÂÃæ·Ö±ðÓÃʵÀý²é¿´ËüÃǵIJ»Í¬
1.»Ø¹ö
Ê×ÏÈÒªÃ÷°×Á½µã
1.ÔÚoracle ÖÐÊý¾Ýɾ³ýºó»¹ÄܻعöÊÇÒòΪËü°ÑÔʼÊý¾Ý·Åµ½ÁËundo±í¿Õ¼ä,
2.DMLÓï¾äʹÓÃundo±í¿Õ¼ä,DDLÓï¾ä²»Ê¹ÓÃundo,¶ødeleteÊÇDMLÓï¾ä,truncateÊÇDDLÓï¾ä,±ðÍâDDLÓï¾äÊÇÒþʽÌá½».
ËùÒÔtruncate²ÙÓò»Äܻعö,¶ødelete²Ù×÷¿ÉÒÔ.
Á½ÖÖ²Ù×÷¶Ô±È(Ê×ÏÈн¨Ò»¸ö±í,²¢²åÈëÊý¾Ý)
SQL> create table t
2 (
3 i number
4 );
Table created.
SQL> insert into t values(10);
SQL> commit;
Commit complete.
SQL> select * from t;
I
----------
10
Deleteɾ³ý,È»ºó»Ø¹ö
SQL> delete from t;
1 row deleted.
SQL> select * from t;
no rows selected
#ɾ³ýºó»Ø¹ö
SQL> rollback;
Rollback complete.
SQL> select * from t;
I
----------
10
Truncate½Ø¶Ï±í,È»ºó»Ø¹ö.
SQL> truncate table t;
Table truncated.
SQL> rollback;
Rollback complete.
SQL> select * from t;
no rows selected
¿É¼ûdeleteɾ³ý±í»¹¿ÉÒԻعö,¶øtruncate½Ø¶Ï±í¾Í²»ÄܻعöÁË.(ǰÌáÊÇdelete²Ù×÷ûÓÐÌá½»)
2.¸ßË®Ïß
ËùÓеÄOracle±í¶¼ÓÐÒ»¸öÈÝÄÉÊý¾ÝµÄÉÏÏÞ£¨ºÜÏóÒ»¸öË®¿âÀúÊ·×î¸ßµÄˮ룩£¬ÎÒÃǰÑÕâ¸öÉÏÏÞ³ÆÎª“high water mark”»òHWM¡£Õâ¸öHWMÊÇÒ»¸ö±ê¼Ç(רÃÅÓÐÒ»¸öÊý¾Ý¿éÓÃÀ´¼Ç¼¸ßË®±ê¼ÇµÈ)£¬ÓÃÀ´ËµÃ÷ÒѾÓжàÉÙÊý¾Ý¿é·ÖÅ䏸Õâ¸ö±í. HWMͨ³£Ôö³¤µÄ·ù¶ÈΪһ´Î5¸öÊý¾Ý¿é.
deleteÓï¾ä²»Ó°Ïì±íËùÕ¼ÓõÄÊý¾Ý¿é, ¸ßË®Ïß(high watermark)±£³ÖÔλÖò»¶¯
truncate Óï¾äȱʡÇé¿öÏ¿ռäÊÍ·Å,³ý·ÇʹÓÃreuse storage; truncate»á½«¸ß
Ïà¹ØÎĵµ£º
SOURCE: CLICK HERE
±¾ÎĽ²ÊöSQL Server¡¢Oracle¡¢MySQL²é³öֵΪNULLµÄÌæ»»¡£
ÔÚSQL Server Oracle MySQLµ±Êý¾Ý¿âÖвé³öijֵΪNULLÔõô°ì?
1¡¢MSSQL: ISNULL()
Óï·¨
ISNULL ( check_expression , replacement_value )
²ÎÊý
check_expression
½«±»¼ì²éÊÇ·ñΪ NULLµÄ±í´ïʽ¡£check_expression ¿ÉÒÔÊÇÈκÎÀàÐ͵ġ£
re ......
in ÊǰÑÍâ±íºÍÄÚ±í×÷hash Á¬½Ó£¬¶øexistsÊǶÔÍâ±í×÷loopÑ»·£¬Ã¿´ÎloopÑ»·ÔÙ¶ÔÄÚ±í½øÐвéѯ¡£
Ò»Ö±ÒÔÀ´ÈÏΪexists±ÈinЧÂʸߵÄ˵·¨ÊDz»×¼È·µÄ¡£
Èç¹û²éѯµÄÁ½¸ö±í´óСÏ൱£¬ÄÇôÓÃinºÍexists²î±ð²»´ó¡£
in ÊǰÑÍâ±íºÍÄÚ±í×÷hash Á¬½Ó£¬¶øexistsÊǶÔÍâ±í×÷loopÑ»·£¬Ã¿´ÎloopÑ»·ÔÙ¶ÔÄÚ±í½øÐвéѯ¡£
Ò»Ö ......
1. trigger ÊÇ×Ô¶¯Ìá½»µÄ£¬²»ÓÃCOMMIT£¬ROLLBACK
2. trigger×î´óΪ32K£¬Èç¹ûÓи´ÔÓµÄÓ¦ÓÿÉÒÔͨ¹ýÔÚTRIGGERÀïµ÷ÓÃPROCEDURE»òFUNCTIONÀ´ÊµÏÖ¡£
3. Óï·¨
CREATE OR REPLACE TRIGGER <trigger_name>
<BEFORE | AFTER> <ACTION>
ON <table_name>
DECLARE
<variable definitions> ......
oracle¿Í»§¶ËplsqlÉèÖÃ(windows7) ÔÚwindows7°²×°plsqlÒÔ·ÃÎÊ·þÎñÆ÷ÉϵÄoracleÊý¾Ý¿â
1. ÔÚ¹ÙÍøÏÂÔØoracle database 10g client£¬°²×°Ê±Ñ¡Ôñinstant client£¬°´Ä¬ÈÏÉèÖð²×°
2. °²×°»òʹÓÃÂÌÉ«°æµÄplsql
3. ÔÚplsqlĿ¼ÏÂÕÒµ½(»òн¨)Îļþtnsnames.ora£¬¿ÉÖØ¸´Ìí¼ÓÈçÏ¶Σº
MYNAME =
(DESCRIPTION =
(ADDRESS_L ......