oracleÁÙʱ±í
˵Ã÷:ÏÂÎÄÖеÄһЩ˵Ã÷ºÍʾÀý´úÂëÕª×ÔCSDN,Ë¡²»Ò»Ò»Ö¸Ã÷³ö´¦,ÔÚ´ËÒ»²¢¶ÔÏà¹Ø×÷Õß±íʾ¸Ðл!
¡¡¡¡1 Óï·¨
¡¡¡¡ÔÚOracleÖУ¬¿ÉÒÔ´´½¨ÒÔÏÂÁ½ÖÖÁÙʱ±í£º
¡¡¡¡1) »á»°ÌØÓеÄÁÙʱ±í
¡¡¡¡CREATE GLOBAL TEMPORARY ( )
¡¡¡¡ON COMMIT PRESERVE ROWS£»
¡¡¡¡2) ÊÂÎñÌØÓеÄÁÙʱ±í
¡¡¡¡CREATE GLOBAL TEMPORARY ( )
¡¡¡¡ON COMMIT DELETE ROWS£»
¡¡¡¡CREATE GLOBAL TEMPORARY TABLE MyTempTable
¡¡¡¡Ëù½¨µÄÁÙʱ±íËäÈ»ÊÇ´æÔڵ쬵«ÊÇÈç¹ûinsert Ò»Ìõ¼Ç¼ȻºóÓñðµÄÁ¬½ÓµÇÉÏÈ¥select£¬¼Ç¼Êǿյġ£¡¡¡¡
¡¡¡¡--ON COMMIT DELETE ROWS ˵Ã÷ÁÙʱ±íÊÇÊÂÎñÖ¸¶¨£¬Ã¿´ÎÌá½»ºóORACLE½«½Ø¶Ï±í£¨É¾³ýÈ«²¿ÐУ©
¡¡¡¡--ON COMMIT PRESERVE ROWS ˵Ã÷ÁÙʱ±íÊǻỰָ¶¨£¬µ±ÖжϻỰʱORACLE½«½Ø¶Ï±í¡£¡¡¡¡
¡¡¡¡2 ¶¯Ì¬´´½¨
¡¡¡¡create or replace procedure pro_temp(v_col1 varchar2,v_col2 varchar2) as
¡¡¡¡v_num number;
¡¡¡¡begin
¡¡¡¡select count(*) into v_num from user_tables where table_name='T_TEMP';¡¡¡¡
¡¡¡¡--create temporary table
¡¡¡¡if v_num<1 then
¡¡¡¡execute immediate 'CREATE GLOBAL TEMPORARY TABLE T_TEMP (
¡¡¡¡COL1 VARCHAR2(10),
¡¡¡¡COL2 VARCHAR2(10)
¡¡¡¡) ON COMMIT delete ROWS';
¡¡¡¡end if;¡¡¡¡
¡¡¡¡--insert data
¡¡¡¡execute immediate 'insert into t_temp values('''¡¡¡¡v_col1¡¡¡¡''','''¡¡¡¡v_col2¡¡¡¡''')';¡¡¡¡
¡¡¡¡execute immediate 'select col1 from t_temp' into v_num;
¡¡¡¡dbms_output.put_line(v_num);
¡¡¡¡execute immediate 'delete from t_temp';
¡¡¡¡commit;
¡¡¡¡execute immediate 'drop table t_temp';
¡¡¡¡end pro_temp;¡¡¡¡
¡¡¡¡²âÊÔ:¡¡¡¡
¡¡¡¡15:23:54 SQL> set serveroutput on
¡¡¡¡15:24:01 SQL> exec pro_temp('11','22');
¡¡¡¡11¡¡¡¡
¡¡¡¡PL/SQL ¹ý³ÌÒѳɹ¦Íê³É¡£¡¡¡¡
¡¡¡¡ÒÑÓÃʱ¼ä: 00: 00: 00.79
¡¡¡¡15:24:08 SQL> desc t_temp;
¡¡¡¡ERROR£º
¡¡¡¡ORA-04043: ¶ÔÏó t_temp ²»´æÔÚ¡¡¡¡
¡¡¡¡3 ÌØÐÔºÍÐÔÄÜ(ÓëÆÕͨ±íºÍÊÓͼµÄ±È½Ï)
¡¡¡¡ ÁÙʱ±íÖ»ÔÚµ±Ç°Á¬½ÓÄÚÓÐЧ
¡¡¡¡ÁÙʱ±í²»½¨Á¢Ë÷Òý,ËùÒÔÈç¹ûÊý¾ÝÁ¿±È½Ï´ó»ò½øÐжà´Î²éѯʱ,²»ÍƼöʹÓÃ
¡¡¡¡Êý¾Ý´¦Àí±È½Ï¸´ÔÓµÄʱºòʱ±í¿ì,·´Ö®ÊÓͼ¿ìµã
¡¡¡¡ÔÚ½ö½ö²éѯÊý¾ÝµÄʱºò½¨ÒéÓÃÓαê: open cursor for 'sql clause';
Ïà¹ØÎĵµ£º
OracleÌṩÁË´óÁ¿Ë÷ÒýÑ¡Ïî¡£ÖªµÀÔÚ¸ø¶¨Ìõ¼þÏÂʹÓÃÄĸöÑ¡Ïî¶ÔÓÚÒ»¸öÓ¦ÓóÌÐòµÄÐÔÄÜÀ´Ëµ·Ç³£ÖØÒª¡£Ò»¸ö´íÎóµÄÑ¡Ôñ¿ÉÄÜ»áÒý·¢ËÀËø£¬²¢µ¼ÖÂÊý¾Ý¿âÐÔÄܼ±¾çϽµ»ò½ø³ÌÖÕÖ¹¡£¶øÈç¹û×ö³öÕýÈ·µÄÑ¡Ôñ£¬Ôò¿ÉÒÔºÏÀíʹÓÃ×ÊÔ´£¬Ê¹ÄÇЩÒѾÔËÐÐÁ˼¸¸öСʱÉõÖÁ¼¸ÌìµÄ½ø³ÌÔÚ¼¸·ÖÖÓµÃÒÔÍê³É£¬ÕâÑù»áʹÄúÁ¢¿Ì³ÉΪһλӢÐÛ¡£ÕâÆªÎÄÕ¾ͽ«¼òµ¥µÄ ......
¼¯³ÉʽӦÓÃÈí¼þÖÁ´ÅÅ̹ÜÀí£¬¼ò»¯¹ÜÀí»·¾³£¬Ìá¸ßͶ×ʻر¨ÂÊ
¡¡¡¡È«Ãæ¹ÜÀíOracleµÄ²úÆ·£¬°üÀ¨Äܹ»¹ÜÀíOracleÓ¦ÓÃÈí¼þ¡¢OracleÈÚºÏÖмä¼þ¡¢OracleÊý¾Ý¿â¡¢Oracle Solaris¡¢OracleÆóÒµ¼¶Linux¡¢Oracle VMºÍOracle Sun·þÎñÆ÷µÄ¹¤¾ß¡£ÕâʹµÃITÄܹ»¿ìËÙÈ·¶¨ÎÊÌâµÄ¸ù±¾ÔÒò£¬¶øÇÒÔںܶàÇé¿öÏ£¬»¹ÄÜ×Ô¶¯µØ½â¾öÎÊÌâ¡£
¡¡¡¡ÁíÍ⣬Õâ ......
ÿ´Îͨ¹ýÐÞ¸Ätnsnames.oraÅäÖñ¾µØNET·þÎñÃû¶¼³öÏÖ´íÎó“ORA-12154:TNS£¬ÎÞ·¨´¦Àí·þÎñÃû”£¬×ܵÃÓôÃÆ°ëÌì~
Õâ¸ö´íÎó£¬Í¨³£ÊÇÒòΪoracle±¾µØNET·þÎñÃûÅäÖÃtnsnames.oraÎļþÓÐÑϸñµÄ¸ñʽҪÇó¡£
ÀýÈ磺
mstrdw =
(DESCRIPTION =
(ADDRESS_LIST =
......
Oracle°æ±¾µÄÇø±ðÓÐÄÇЩ
http://database.51cto.com/art/201004/196494.htm
http://database.51cto.com
2010-04-23 15:20 ØýÃû »¥ÁªÍø ÎÒÒªÆÀÂÛ(
0
)
ͻ񻣼
ÒÔϵÄÎÄÕÂÖ÷ÒªÊǶÔOracle°æ±¾µÄÇø±ðµÄ¼òÊö£¬Èç¹ûÄã¶ÔÆäµÄÏà¹ØÄÚÈݸÐÐËȤµÄ
»°£¬ÒÔϵÄÎÄÕÂÖ÷Òª¾ÍÊÇ¶ÔÆäÏà¹ØÄÚÈÝµÄ ......
Àí½âoracleÖÐÁ¬½ÓºÍ»á»° 1. ¸ÅÄͬ£º¸ÅÄͬ£º
Á¬½ÓÊÇÖ¸ÎïÀíµÄÍøÂçÁ¬½Ó¡£
ÔÚÒѽ¨Á¢µÄÁ¬½ÓÉÏ£¬½¨Á¢¿Í»§¶ËÓëoracleµÄ»á»°£¬ÒÔºó¿Í»§¶ËÓëoracleµÄ½»»¥¶¼ÔÚÒ»¸ö»á»°»·¾³ÖнøÐС£
2. ¹ØÏµÊǶà¶Ô¶à£º
Ò»¸öÁ¬½ÓÉÏ¿ÉÒÔ½¨Á¢0¸ö£¬1¸ö£¬2¸ö£¬¶à¸ö»á»°¡£
OracleÔÊÐí´æÔÚÕâÑùµÄ»á»°£¬¾ÍÊÇʧȥÁËÎïÀíÁ¬½ÓµÄ»á»°¡£
3. ¸ÅÄîÓ¦Ó㺸 ......