[ת]Oracle Ëæ»ú»ñÈ¡NÌõÊý¾Ý
µ±ÎÒÃÇ»ñÈ¡Êý¾Ýʱ,¿ÉÄÜ»áÓÐÕâÑùµÄÐèÇó,¼´Ã¿´Î´Ó±íÖлñÈ¡Êý¾Ýʱ,ÊÇËæ»ú»ñȡһ¶¨µÄ¼Ç¼,¶ø²»ÊÇÿ´Î¶¼»ñȡһÑùµÄÊý¾Ý,ÕâʱÎÒÃÇ¿ÉÒÔ²ÉÈ¡OracleÄÚ²¿Ò»Ð©º¯Êý,À´´ïµ½ÕâÑùµÄÄ¿µÄ.
1) select * from (select * from tablename order by sys_guid()) where rownum < N;
2) select * from (select * from tablename order by dbms_random.value) where rownum< N;
3) select * from (select * from table_name sample(10) order by trunc(dbms_random.value(0, 1000))) where rownum < N;
˵Ã÷: sample(10)º¬ÒåΪ¼ìË÷±íÖеÄ10%Êý¾Ý,sampleÖµÓ¦¸ÃÔÚ[0.000001,99.999999]Ö®¼ä.
ÆäÖÐ sys_guid() ºÍ dbms_random.value¶¼ÊÇÄÚ²¿º¯Êý,ͨ¹ýÕâÑùµÄ·½·¨,¾Í¿ÉÒÔʵÏÖÎÒÃǵÄÐèÇóÁË.
×¢:
ÔÚʹ1)·½·¨Ê±,¼´Ê¹ÓÃsys_guid() ÕâÖÖ·½·¨Ê±,ÓÐʱ»á»ñÈ¡µ½ÏàͬµÄ¼Ç¼,¼´ºÍǰһ´Î²éѯµÄ½á¹û¼¯ÊÇÒ»ÑùµÄ,ÎÒ²éÕÒÁËÏà¹Ø×ÊÁÏ,ÓÐЩ˵ÊǺͲÙ×÷ϵͳÓйØ,ÔÚwindowsƽ̨ÏÂÕý³£,»ñÈ¡µ½µÄÊý¾ÝÊÇËæ»úµÄ,¶øÔÚlinuxµÈƽ̨ÏÂʼÖÕÊÇÏàͬ²»±äµÄÊý¾Ý¼¯,ÓÐЩ˵ÊÇÒòΪsys_guid()º¯Êý±¾ÉíµÄÎÊÌâ,¼´sys_guid()»áÔÚ²éѯÉÏÉú³ÉÒ»¸ö16×Ö½ÚµÄÈ«¾ÖΨһ±êʶ·û,Õâ¸ö±êʶ·ûÔÚ¾ø´ó²¿·Öƽ̨ÉÏÓÉÒ»¸öËÞÖ÷±êʶ·ûºÍ½ø³Ì»ò½ø³ÌµÄÏ̱߳êʶ·û×é³É,Õâ¾ÍÊÇ˵,ËüºÜ¿ÉÄÜÊÇËæ»úµÄ,µ«ÊDz¢²»±íʾһ¶¨ÊǰٷÖÖ®°ÙµÄÕâÑù.
ËùÒÔ,Ϊȷ±£ÔÚ²»Í¬µÄƽ̨ÿ´Î¶ÁÈ¡µÄÊý¾Ý¶¼ÊÇËæ»úµÄ,ÎÒÃÇ´ó¶à²ÉÓÃ2)ºÍ3)Á½ÖÖ·½°¸,ÆäÖÐ2)·½°¸¸ü³£ÓÃ.3)·½°¸ËõСÁ˲éѯµÄ·¶Î§,ÔÚ²éѯ´ó±í,ÇÒÒªÌáÈ¡Êý¾Ý²»ÊǺܲ»¶àµÄÇé¿öÏÂ,»á¶Ô²éѯËÙ¶ÈÉÏÓÐÒ»¶¨µÄÌá¸ß,
Áí:ÔÚOracleÖÐÒ»°ã»ñÈ¡Ëæ»úÊ
Ïà¹ØÎĵµ£º
¹ØÓÚOracleÀïÃæµÄһЩСº¯Êý
ÒªÇó£ºA.Êý¾Ý¿â±íÖеÄÒ»¸ö×Ö·û´® ¿ÉÄܺ¬ÓÐ"+" Àý£ºORC+001
Ò²¿ÉÄܲ»º¬“+”
B.ÒªÇóÈç¹û¸Ã×Ö·û´®º¬ÓГ+”£¬ÔòÈ¡“+”֮ǰµÄ×Ö·û Àý£ºORC+001 È¡ORC
  ......
1£¬oracle tools£ºOUI¡¢DBCA¡¢OEM¡¢SQL*PLUS¡¢NETCA¡¢µÚÈý·½¹¤¾ß£¨toad¡¢PL\SQL developer£©
2£¬¿ÉʹÓÃresponsefile¿ìËÙȥͼÐΰ²×°oracle£¬ÔÚÔ´°²×°Îļþ/responseÀïÃæÓÐһЩģ°åÅäÖÃrpsÎļþ
3£¬Ô¤ÖÃÓû§ÊÇsysÓû§ÓësystemÓû§£ºsysÊÇoracleÊý¾Ý¿â
ÖÐȨÏÞ×î¸ßµÄÕʺţ¬¾ßÓÐcreate
databaseµÄȨÏÞ£¬¶øsystemûÓÐÕâ¸öȨÏÞ£ ......
oracleÊý¾Ý¿âµÄ±¸·ÝÓë»Ö¸´
---- µ±ÎÒÃÇʹÓÃÒ»¸öÊý¾Ý¿âʱ£¬×ÜÏ£ÍûÊý¾Ý¿âµÄÄÚÈÝÊǿɿ¿µÄ¡¢ÕýÈ·µÄ£¬µ«ÓÉÓÚ¼ÆËã»úϵͳµÄ¹ÊÕÏ£¨°üÀ¨»úÆ÷¹ÊÕÏ¡¢½éÖʹÊÕÏ¡¢Îó²Ù×÷µÈ£©£¬Êý¾Ý¿âÓÐʱҲ¿ÉÄÜÔâµ½ÆÆ»µ£¬ÕâʱÈçºÎ¾¡¿ì»Ö¸´Êý¾Ý¾Í³ÉΪµ±ÎñÖ®¼±¡£Èç¹ûƽʱ¶ÔÊý¾Ý¿â×öÁ˱¸·Ý£¬ÄÇô´Ëʱ»Ö¸´Êý¾Ý¾ÍÏԵúÜÈÝÒס£Óɴ˿ɼû£¬×öºÃÊý¾Ý¿âµÄ±¸·ÝÊǶ ......
create or replace procedure proc_test
( a in number, b out number )
as
begin
b:=a+1;
end proc_test;
ÏÖÔÚÒªµ÷Óõϰ¾ÍÊÇÕâÑù
SQL> c number;
SQL>exec proc_test(1,:c);
ǧÍòҪעÒâ±ðÍüÁËдðºÅ ......
OracleÖеĴ洢¹ý³ÌºÍÓαê:
select myFunc(²ÎÊý1,²ÎÊý2..) to dual; --¿ÉÒÔÖ´ÐÐһЩҵÎñÂß¼
Ò»:OracleÖеĺ¯ÊýÓë´æ´¢¹ý³ÌµÄÇø±ð:
A:º¯Êý±ØÐëÓзµ»ØÖµ,¶ø¹ý³ÌûÓÐ.
B:º¯Êý¿ÉÒÔµ¥¶ÀÖ´ÐÐ.¶ø¹ý³Ì±ØÐëͨ¹ýexecuteÖ´ÐÐ.
C:º¯Êý¿ÉÒÔǶÈëµ½SQLÓï¾äÖÐÖ´ÐÐ.¶ø¹ý³Ì²»ÐÐ.
ÆäʵÎÒÃÇ¿ÉÒÔ½«±È½Ï¸´ÔӵIJéѯд³Éº¯Êý.È»ºóµ½´æ´¢¹ý³Ì ......