PL/SQL¿ª·¢
bulk collectÊÇ¿ÉÒÔ¿´×öÊÇÒ»ÖÖÅú»ñÈ¡µÄ·½Ê½£¬ÔÚÎÒÃǵÄplsqlµÄ´úÂë¶ÎÀï¾³£×÷ΪintoµÄÀ©Õ¹À´Ê¹Ó᣶ÔÓÚselect id into v from .... ÊÇÒ»¸ö³£ÓõÄÓ÷¨¡£²»¹ýÕâÀïÖ»ÄÜÊÇ·µ»Øµ¥Ìõ¼Ç¼µÄʱºò£¬²ÅÄÜʹÓã¬Èç¹ûÊÇÓжàÌõ¼Ç¼ÎÒÃǾͲ»ÄÜÓÃÕâÑùµÄ·½Ê½£¬¶øÊÇʹÓÃfetchºÍÑ»·µÄ·½Ê½£¬²»½öʹÓÃÂé·³£¬¶øÇÒÐÔÄÜÒ²µ×Ï£¬ÕâʱÎÒÃǵÄbulk collectÂ¡ÖØµÇ³¡ÁË£¬½â¾öÎÒÃǵÄÎÊÌâ¡£
ͨ¹ýbulk collect¿ÉÒÔ°ÑÎÒÃǵIJéѯ½á¹ûÒ»´ÎÐԵؼÓÔØµ½ÎÒÃǵÄǶÈë±íÖС£ÕâÑùÎÒÃDz»ÐèÒªºÜÂé·³µÄÓÃÓαêµÄÑ»·Ò»ÌõÒ»ÌõµÄÈ¥fetchß·£¬¿ÉÏë¶øÖª£¬ÕâÑù²»½ö²Ù×÷·½±ã£¬Ò²¿ÉÒÔ»ñµÃÏ൱²»´íµÄ³ÌÐòÐÔÄÜ¡£ ÎÒÃÇ¿ÉÒÔÔÚselect into, fetch into, returning intoµÄ¾ä×ÓÖÐʹÓá£ÏÂÃæÎÒÃÇͨ¹ý¶ÔÒÔÉϸ÷¸öÀý×ÓÀ´½øÐÐÑÝʾÀ´¿´¿´ËûÃǵÄÓ÷¨
ÏÈÀ´¿´¿´ÎÒÃǵIJâÊÔ±íºÍÊý¾Ý
SQL> desc test;
Name Null? Type
----------------------------------------- -------- ----------------------------
ZC_CODE VARCHAR2(20)
MONEY NUMBER(35)
MONEY_2 NUMBER(35)
SQL> col zc_code format a20;
SQL> col money format 999999.99;
SQL> col money_2 format 9999.99;
SQL>select * from test;
ZC_CODE MONEY MONEY_2
-------------------- ---------- --------
201 18600.00
20101 9600.00
2010101 3300.00
2010102 3200.00
2010103 3100.00
20102 9000.00
2010201 2000.00
2010202 7000.00
8 rows selected.
¶¨ÒåÎÒÃǵÄǶÌ×±íµÄÀàÐÍ£¬ ¶¨ÒåÔÚÒ»¸öpackageÀÕâ¸öpackageʹÎÒÃǵÄÊý¾ÝÀàÐͼ¯ºÏ
SQL> create or replace package ALL_DATA_TYPE is
2 type T_TESTROW is table of test1.test%rowtype index by binary_integer;
3 type T_TESTZCCODE is table of test1.test.zc_code%type index by binary_integer;
4 end;
5 /
ÏÈÀ´¸öselect intoµÄÀý×Ó
SQL> create or replace function test_bulkcollect return ALL_DATA_TYPE.T_TESTROW is
2 v_rtn ALL_DATA_TYPE.T_TESTROW;
3 begin
4 select * bulk collect into v_rtn from test;
5 return v_rtn;
6 end;
7 /
ͳһµÄ²âÊÔ·½·¨£¬ ÎÒÃÇ·Ö±ðÓÃÕâ¸ö²âÊÔ´úÂëÀ´ÑÝʾÒÔÉÏselect into£¬fetch intoºÍr
Ïà¹ØÎĵµ£º
˵µ½Èí½âÎö£¨soft prase£©ºÍÓ²½âÎö£¨hard prase£©£¬¾Í²»Äܲ»ËµÒ»ÏÂOracle¶ÔsqlµÄ´¦Àí¹ý³Ì¡£µ±Äã·¢³öÒ»ÌõsqlÓï¾ä½»¸¶Oracle£¬ÔÚÖ´ÐкͻñÈ¡½á¹ûǰ£¬Oracle¶Ô´Ësql½«½øÐм¸¸ö²½ÖèµÄ´¦Àí¹ý³Ì£º
1¡¢Óï·¨¼ì²é£¨syntax check£©
¼ì²é´ËsqlµÄƴдÊÇ·ñÓï ......
SQLº¯ÊýÖ®ËÄÉáÎåÈ루ת×Ôhttp://ln1058.javaeye.com/blog/191502£©
ÎÊÌâ1£º
SELECT CAST('123.456' as decimal) ½«»áµÃµ½ 123£¨Ð¡ÊýµãºóÃæµÄ½«»á±»Ê¡ÂÔµô£©¡£
Èç¹ûÏ£ÍûµÃµ½Ð¡ÊýµãºóÃæµÄÁ½Î»¡£
ÔòÐèÒª°ÑÉÏÃæµÄ¸ÄΪ
SELECT CAST('123.456' as decimal(38, 2)) ===>123.46
×Ô¶¯ËÄÉáÎåÈëÁË£ ......
1.²»ÓÃÍ˳öSQL2000°²×°³ÌÐò,Ö±½ÓÇл»µ½×ÀÃæ.
¡¡¡¡2.´ò¿ª×¢²á±í±à¼Æ÷£¨ÔÚ“ÔËÐДÖÐÇÃÈë“regedit”Ö®ºó»Ø³µ¼´¿É£©£¬¶¨Î»µ½×¢²á±íµÄHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager½Úµã.
¡¡¡¡3.µ¥»÷“Session Manager”Õâ¸ö½Úµã£¬ ......
---//´´½¨·ÖÇø
CREATE PARTITION FUNCTION MarketInfo_Bak_partfunc(int)
AS RANGE RIGHT
FOR VALUES (10000,25000,40000)
--//´´½¨·ÖÇø¼Ü¹¹
CREATE PARTITION SCHEME MarketInfo_Bak_partscheme
¡¡¡¡AS PARTITION MarketInfo_Bak_partfunc
¡¡¡¡TO (fg1, fg2, fg3, fg4) --//fg1...fg4Îļþ×éÃû
--//¶Ô±í½ø ......
¹Ì¶¨ÈÕÆÚ¼õÒ»¸öÔ£¨ÈÕ¡¢Ä꣩
dateadd(±í´ïʽ1£¬±í´ïʽ2£¬±í´ïʽ3£©
±í´ïʽ1ΪMM»òYY»òDD
±í´ïʽ2Ϊ1
±í´ïʽ3ΪҪ¼õµÄÈÕÆÚ Ò»¸öÔµĵÚÒ»Ìì µÚÒ»¸öÀý×Ó£¬ÎÒ½«¸æËßÄãÈçºÎ´Óµ±Ç°ÈÕÆÚÈ¥Õâ¸öÔµÄ×îºóÒ»Ìì¡£Çë×¢Ò⣺Õâ¸öÀý×ÓÒÔ¼°ÕâÆªÎÄÕÂÖÐµÄÆäËûÀý×Ó¶¼½«Ö»Ê¹ÓÃDATEDIFFºÍDATEADDº¯ÊýÀ´¼ÆËãÎÒÃÇÏëÒªµÄÈÕ ......