OracleÊý¾Ý¿âÊý¾Ý²Ù×÷ºÍ¿ØÖÆÓïÑÔÏê½â
SQLÓïÑÔ¹²·ÖΪËÄ´óÀࣺÊý¾Ý²éѯÓïÑÔDQL£¬Êý¾Ý²Ù×ÝÓïÑÔDML£¬ Êý¾Ý¶¨ÒåÓïÑÔDDL£¬Êý¾Ý¿ØÖÆÓïÑÔDCL¡£ÆäÖÐÓÃÓÚ¶¨ÒåÊý¾ÝµÄ½á¹¹£¬±ÈÈç ´´½¨¡¢Ð޸ĻòÕßɾ³ýÊý¾Ý¿â£»DCLÓÃÓÚ¶¨ÒåÊý¾Ý¿âÓû§µÄȨÏÞ£»ÔÚÕâÆªÎÄÕÂÖÐÎÒ½«Ïêϸ½²ÊöÕâÁ½ÖÖÓïÑÔÔÚOracleÖеÄʹÓ÷½·¨¡£  
¡¡¡¡DMLÓïÑÔ 
¡¡¡¡DMLÊÇSQLµÄÒ»¸ö×Ó¼¯£¬Ö÷ÒªÓÃÓÚÐÞ¸ÄÊý¾Ý£¬Ï±íÁгöÁËORACLEÖ§³ÖµÄDMLÓï¾ä¡£ 
Óï¾ä  ÓÃ;  INSERT Ïò±íÖÐÌí¼ÓÐÐ  UPDATE ¸üд洢ÔÚ±íÖеÄÊý¾Ý  DELETE  ɾ³ýÐÐ  SELECT FOR UPDATE  ½ûÖ¹ÆäËûÓû§·ÃÎÊDMLÓï¾äÕýÔÚ´¦ÀíµÄÐС£  LOCK TABLE  ½ûÖ¹ÆäËûÓû§ÔÚ±íÖÐʹÓÃDMLÓï¾ä  
 ¡¡¡¡²åÈëÊý¾Ý 
¡¡¡¡INSERTÓï¾ä³£³£ÓÃÓÚÏò±íÖвåÈëÐУ¬ÐÐÖпÉÒÔÓÐÌØÊâÊý¾Ý×ֶΣ¬»òÕß¿ÉÒÔÓÃ×Ó²éѯ´ÓÒÑ´æÔÚµÄÊý¾ÝÖн¨Á¢ÐÂÐС£ 
¡¡¡¡ÁÐĿ¼ÊÇ¿ÉÑ¡µÄ£¬È±Ê¡µÄÁеÄĿ¼ÊÇËùÓеÄÁÐÃû£¬°üÀ¨comlumn_id,comlumn_id¿ÉÒÔÔÚÊý¾Ý×ÖµäÊÓͼALL_TAB_COLUMNS,USER_TAB_COLUMNS,»òÕßDBA_TAB_COLUMNSÖÐÕÒµ½¡£ 
¡¡¡¡²åÈëÐеÄÊý¾ÝµÄÊýÁ¿ºÍÊý¾ÝÀàÐͱØÐëºÍÁеÄÊýÁ¿ºÍÊý¾ÝÀàÐÍÏàÆ¥Åä¡£²»·ûºÏÁж¨ÒåµÄÊý¾ÝÀàÐͽ«¶Ô²åÈëֵʵÐÐÒþʽÊý¾Ýת»»¡£NULL×Ö·û´®½«Ò»¸öNULLÖµ²åÈëÊʵ±µÄÁÐÖС£¹Ø¼ü×ÖNULL³£³£ÓÃÓÚ±íʾ½«Ä³Áж¨ÒåΪNULLÖµ¡£ 
¡¡¡¡ÏÂÃæµÄÁ½¸öÀý×ÓÊǵȼ۵ġ£ ÒÔÏÂΪÒýÓõÄÄÚÈÝ£º INSERT INTO customers(cust_id,state,post_code) VALUE('Ariel',NULL,'94501');  
 ¡¡¡¡»ò ÒÔÏÂΪÒýÓõÄÄÚÈÝ£º INSERT INTO customers(cust_id,state,post_code) VALUE('Ariel',,'94501');  ¡¡¡¡¸üÐÂÊý¾Ý 
¡¡¡¡UPDATEÃüÁîÓÃÓÚÐ޸ıíÖеÄÊý¾Ý¡£ ÒÔÏÂΪÒýÓõÄÄÚÈÝ£º UPDATE order_rollup SET(qty,price)=(SELECT SUM(qty),SUM(price) FROM order_lines WHERE customer_id='KOHL' WHERE cust_id='KOHL' AND order_period=TO_DATE('01-Oct-2000')  
ɾ³ýÊý¾Ý 
¡¡¡¡DELETEÓï¾äÓÃÀ´´Ó±íÖÐɾ³ýÒ»Ðлò¶àÐÐÊý¾Ý£¬¸ÃÃüÁî°üº¬Á½¸öÓï¾ä£º 
¡¡¡¡¡¡1¡¢¹Ø¼ü×ÖDELETE FROMºó¸ú×¼±¸´ÓÖÐɾ³ýÊý¾ÝµÄ±íÃû¡£ 
¡¡¡¡¡¡2¡¢WHEREºó¸úɾ³ýÌõ¼þ ÒÔÏÂΪÒýÓõÄÄÚÈÝ£º DELETE FROM po_lines WHERE ship_to_state IN ('TX','NY','IL') AND order_date  ¡¡¡¡Çå¿Õ±í 
¡¡¡¡Èç¹ûÄãÏëɾ³ý±íÖÐËùÓÐÊý¾Ý£¬Çå¿Õ±í£¬¿ÉÒÔ¿¼ÂÇʹÓÃDDLÓïÑÔµÄTRUNCATEÓï¾ä¡£TRUNCATE¾ÍÏñûÓÐWHERE×Ó¾äµÄDELETEÃüÁîÒ»Ñù¡£TRUNCATE½«É¾³ý±íÖÐËùÓÐÐС£TRUNCATE²»ÊÇDMLÓï¾äÊÇDDLÓï¾ä£¬ËûºÍDELETEÓÒ²»Í¬µÄÌØµã¡£ ÒÔÏÂΪÒýÓõÄÄÚÈÝ£º TRUNCATE TABLE (schema)table DROP(REUSE) STORAGE   
¡¡¡¡STORAGE×Ó´®ÊÇ¿ÉÑ¡µÄ£¬È±Ê¡ÊÇDROP STORAGE¡£µ±Ê¹ÓÃDROP STORAGEʱ½«Ëõ¶Ì±íºÍ±íË÷Òý£¬½«±íÊÕËõµ½×îС·¶Î§£¬²¢ÖØÐÂÉèÖÃNEXT²ÎÊý¡£REUSE STORAGE²»»áËõ¶Ì±í»òÕßµ÷ÕûNEXT²ÎÊý¡£ 
¡¡¡¡TRUNCATEºÍDELETEÓÐÒÔϼ¸µãÇø±ð 
¡¡¡¡1¡¢TRUNCATEÔÚ¸÷ÖÖ±íÉÏÎÞÂÛÊÇ´óµÄ»¹ÊÇСµÄ¶¼·Ç³£¿ì¡£Èç¹ûÓÐROLLBACKÃüÁîDELETE½«±»³·Ïú£¬¶øTRUNCATEÔò²»»á±»³·Ïú¡£ 
¡¡¡¡2¡¢TRUNCATEÊÇÒ»¸öDDLÓïÑÔ£¬ÏòÆäËûËùÓеÄDDLÓïÑÔÒ»Ñù£¬Ëû½«±»ÒþʽÌá½»£¬²»ÄܶÔTRUNCATEʹÓÃROLLBACKÃüÁî¡£ 
¡¡¡¡3¡¢TRUNCATE½«ÖØÐÂÉèÖøßˮƽÏߺÍËùÓеÄË÷Òý¡£ÔÚ¶ÔÕû¸ö±íºÍË÷Òý½øÐÐÍêÈ«ä¯ÀÀʱ£¬¾¹ýTRUNCATE²Ù×÷ºóµÄ±í±ÈDELETE²Ù×÷ºóµÄ±íÒª¿ìµÃ¶à¡£ 
¡¡¡¡4¡¢TRUNCATE²»ÄÜ´¥·¢ÈκÎDELETE´¥·¢Æ÷¡£ 
¡¡¡¡5¡¢²»ÄÜÊÚÓèÈκÎÈËÇå¿ÕËûÈ˵ıíµÄȨÏÞ¡£ 
¡¡¡¡6¡¢µ±±í±»Çå¿Õºó±íºÍ±íµÄË÷Òý½²ÖØÐÂÉèÖóɳõʼ´óС£¬¶ødeleteÔò²»ÄÜ¡£ 
¡¡¡¡7¡¢²»ÄÜÇå¿Õ¸¸±í¡£ 
¡¡¡¡SELECT FOR UPDATE 
¡¡¡¡select for updateÓï¾äÓÃÓÚËø¶¨ÐУ¬×èÖ¹ÆäËûÓû§ÔÚ¸ÃÐÐÉÏÐÞ¸ÄÊý¾Ý¡£µ±¸ÃÐб»Ëø¶¨ºóÆäËûÓû§¿ÉÒÔÓÃSELECTÓï¾ä²éѯ¸ÃÐеÄÊý¾Ý£¬µ«²»ÄÜÐ޸ĻòËø¶¨¸ÃÐС£ 
¡¡¡¡Ëø¶¨±í 
¡¡¡¡LOCKÓï¾ä³£³£ÓÃÓÚËø¶¨Õû¸ö±í¡£µ±±í±»Ëø¶¨ºó£¬´ó¶àÊýDMLÓïÑÔ²»ÄÜÔڸñíÉÏʹÓá£LOCKÓï·¨ÈçÏ£º ÒÔÏÂΪÒýÓõÄÄÚÈÝ£º LOCK schema table IN lock_mode  ±¾ÐÂÎŹ² 2Ò³,µ±Ç°ÔÚµÚ 1Ò³   1  2   |