oracle forallÓï¾ä
FORALLÓï¾äµÄÒ»¸ö¹Ø¼üÐԸĽø£¬Ëü¿É´ó´ó¼ò»¯´úÂ룬²¢ÇÒ¶ÔÓÚÄÇЩҪÔÚPL/SQL³ÌÐòÖиüкܶàÐÐÊý¾ÝµÄ³ÌÐòÀ´Ëµ£¬Ëü¿ÉÏÔÖøÌá¸ßÆäÐÔÄÜ¡£
1:
ÓÃFORALLÀ´ÔöÇ¿DMLµÄ´¦ÀíÄÜÁ¦
OracleΪOracle8iÖеÄPL/SQLÒýÈëÁËÁ½¸öеÄÊý¾Ý²Ù×ÝÓïÑÔ£¨DML£©Óï¾ä£ºBULK COLLECTºÍFORALL¡£ÕâÁ½¸öÓï¾äÔÚPL/SQLÄÚ²¿½øÐÐÒ»ÖÖÊý×é´¦Àí
£»BULK COLLECTÌṩ¶ÔÊý¾ÝµÄ¸ßËÙ¼ìË÷£¬FORALL¿É´ó´ó¸Ä½øINSERT¡¢UPDATEºÍDELETE²Ù×÷µÄÐÔÄÜ¡£OracleÊý¾Ý¿âʹÓÃÕâЩÓï¾ä´ó´ó¼õÉÙÁË
PL/SQLÓëSQLÓï¾äÖ´ÐÐÒýÇæµÄ»·¾³Çл»´ÎÊý£¬´Ó¶øÊ¹ÆäÐÔÄÜÓÐÁËÏÔÖøÌá¸ß¡£
ʹÓÃBULK COLLECT£¬Äã¿ÉÒÔ½«¶à¸öÐÐÒýÈëÒ»¸ö»ò¶à¸ö¼¯ºÏÖУ¬¶ø²»Êǵ¥¶À±äÁ¿»ò¼Ç¼ÖС£ÏÂÃæÕâ¸öBULK COLLECTµÄʵÀýÊǽ«±êÌâÖаüº¬
ÓÐ"PL/SQL"µÄËùÓÐÊé¼®¼ìË÷³öÀ´²¢ÖÃÓڼǼµÄÒ»¸ö¹ØÁªÊý×éÖУ¬ËüÃǶ¼Î»ÓÚͨÏò¸ÃÊý¾Ý¿âµÄµ¥Ò»Í¨µÀÖС£
DECLARE
TYPE books_aat
IS TABLE OF book%ROWTYPE
INDEX BY PLS_INTEGER;
books books_aat;
BEGIN
SELECT *
BULK COLLECT INTO book
from books
WHERE title LIKE '%PL/SQL%';
...
END;
ÀàËÆµØ£¬FORALL½«Êý¾Ý´ÓÒ»¸öPL/SQL¼¯ºÏ´«Ë͸øÖ¸¶¨µÄʹÓü¯ºÏµÄ±í¡£ÏÂÃæµÄ´úÂëʵÀý¸ø³öÒ»¸ö¹ý³Ì£¬¼´½ÓÊÕÊé¼®ÐÅÏ¢µÄÒ»¸öǶÌ×±í£¬²¢½«¸Ã
¼¯ºÏ£¨°ó¶¨Êý×飩µÄÈ«²¿ÄÚÈݲåÈë¸ÃÊé¼®±íÖС£×¢Ò⣬Õâ¸öÀý×Ó»¹ÀûÓÃÁËOracle9iµÄFORALLµÄÔöÇ¿¹¦ÄÜ£¬¿ÉÒÔ½«Ò»Ìõ¼Ç¼ֱ½Ó²åÈëµ½±íÖС£
BULK COLLECTºÍFORALL¶¼·Ç³£ÓÐÓã¬ËüÃDz»½öÌá¸ßÁËÐÔÄÜ£¬¶øÇÒ»¹¼ò»¯ÁËΪPL/SQLÖеÄSQL²Ù×÷Ëù±àдµÄ´úÂë¡£ÏÂÃæµÄ¶àÐÐFORALL INSERTÏ൱
Çå³þµØËµÃ÷ÁËΪʲôPL/SQL±»ÈÏΪÊÇOracleÊý¾Ý¿âµÄ×î¼Ñ±à³ÌÓïÑÔ¡£
CREATE TYPE books_nt
IS TABLE OF book%ROWTYPE;
/
CREATE OR REPLACE PROCEDURE add_books (
books_in IN books_nt)
IS
BEGIN
FORALL book_index
IN books_in.FIRST .. books_in.LAST
INSERT INTO book
VALUES books_in(book_index);
...
END;
²»¹ýÔÚOracleÊý¾Ý¿â10g֮ǰ£¬ÒÔFORAll·½Ê½Ê¹Óü¯ºÏÓÐÒ»¸öÖØÒªµÄÏÞÖÆ£º¸ÃÊý¾Ý¿â´ÓIN·¶Î§×Ó¾äÖеĵÚÒ»Ðе½×îºóÒ»ÐУ¬ÒÀ´Î¶ÁÈ¡¼¯ºÏµÄÄÚÈÝ
¡£Èç¹ûÔڸ÷¶Î§ÄÚÓöµ½Ò»¸ö䶨ÒåµÄÐУ¬OracleÊý¾Ý
Ïà¹ØÎĵµ£º
oracle ÖУ¬¶ÔÓÚÒ»¸öÌá½»µÄsqlÓï¾ä,´æÔÚÁ½ÖÖ¿ÉÑ¡µÄ½âÎö¹ý³Ì, Ò»ÖÖ½Ð×öÓ²½âÎö,Ò»ÖÖ½Ð×öÈí½âÎö.
Ò»¸öÓ²½âÎöÐèÒª¾½âÎö,ÖÆ¶¨Ö´Ðз¾¶,ÓÅ»¯·ÃÎʼƻ®µÈÐí¶àµÄ²½Öè.Ó²½âÊͲ»½ö½öºÄ·Ñ´óÁ¿µÄcpu£¬¸üÖØÒªµÄÊÇ»áÕ¼¾ÝÖØÒªµÄÃÇãÅ£¨latch£©×ÊÔ´£¬ÑÏÖØµÄÓ°ÏìϵͳµÄ¹æÄ£µÄÀ©´ó£¨¼´ÏÞÖÆÁËϵͳµÄ²¢·¢ÐУ©£¬ ¶øÇÒÒýÆðµÄÎÊÌâ ......
ÔÚOracleÖн¨¿â£¬Í¨³£ÓÐÁ½ÖÖ·½·¨¡£Ò»ÊÇʹÓÃOracleµÄ½¨¿â¹¤
ÇÒDBCA£¬ÕâÊÇÒ»¸öͼÐνçÃæ¹¤ÇÒ£¬Ê¹ÓÃÆðÀ´·½±ãÇÒºÜÈÝÒ×Àí½â£¬ÒòΪËüµÄ½çÃæÓѺá¢ÃÀ¹Û£¬¶øÇÒÌáʾҲ±È½ÏÆëÈ«¡£ÔÚ£×indowsϵͳÖУ¬Õâ¸ö¹¤¾ß¿ÉÒÔÔÚOracle³ÌÐò×éÖдò¿ª£¨”¿ªÊ¼”—“³ÌÐò”—“ Oracle OraDb10g_home1”&mdash ......
¡¾IT168¼¼ÊõÎĵµ¡¿
DATA GUARDµÄ×îÖ÷ÒªµÄ¹¦ÄÜÊÇÈßÔÖ¡£µ±È»¸ù¾ÝÅäÖõIJ»Í¬£¬DATA GUARD»¹¿ÉÒԾ߱¸ÒÔÏÂÌØµã£º¸ß¿ÉÓá¢ÐÔÄÜÌáÉý¡¢Êý¾Ý±£»¤ÒÔ¼°¹ÊÕϻָ´µÈ¡£
DATA GUARD¿ÉÒÔ·ÖΪÎïÀíSTANDBYºÍÂß¼STANDBYÁ½ÖÖ¡£¶þÕßµÄ×î´ó²î±ðÔÚÓÚ£¬ÎïÀíSTANDBYÓ¦ÓõÄÊÇÖ÷¿âµÄ¹éµµÈÕÖ¾£¬¶øÂ ......
Ò»¡¢ÏµÍ³µÄĬÈÏÓû§
Java´úÂë
sys;//ϵͳ¹ÜÀíÔ±£¬ÓµÓÐ×î¸ßȨÏÞ
system;//±¾µØ¹ÜÀíÔ±£¬´Î¸ßȨÏÞ
scott;//ÆÕͨÓû§£¬ÃÜÂëĬÈÏΪtiger,ĬÈÏδ½âËø
¶þ¡¢µÇ½
Java´úÂë
sqlplus conn / as sysdba;//µÇ½sysÕÊ»§ ......