¡¾×ª¡¿ PL/SQL×î²îʵ¼ù
PL/SQL×î²îʵ¼ù
http://benben.javaeye.com/blog/278164
1. ³¬³¤µÄPL/SQL´úÂë
Ó°Ï죺¿Éά»¤ÐÔ£¬ÐÔÄÜ
Ö¢×´£º
ÔÚ¸´ÔӵįóÒµÓ¦ÓÃÖУ¬´æÔÚ¶¯éü³É°ÙÉÏǧÐеĴ洢¹ý³Ì»òÉÏÍòÐеİü¡£
ΪʲôÊÇ×î²î£º
Ì«³¤µÄPL/SQL´úÂë²»ÀûÓÚÔĶÁ£¬µÚÈý·½¹¤¾ßÔÚµ÷ÊÔʱҲ»á³öÏÖ´úÂëÐлìÂÒµÈÎÊÌâ¡£PL/SQL´æ´¢¶ÔÏ󣨴洢¹ý³Ì¡¢°ü¡¢º¯Êý¡¢´¥·¢Æ÷µÈ£©ÐÐÊýÉÏÏÞԼΪ6000000ÐУ¬µ«Êµ¼Ê¹¤×÷ÖУ¬µ±°ü´óС³¬¹ý5000Ðоͻá³öÏÖµ÷ÊÔÎÊÌâ¡£
½â¾öÖ®µÀ£º
PL/SQL´úÂëÔÚÖ´ÐÐǰ»á±»¼ÓÔØµ½shared poolÖУ¬shared poolÒÔ×Ö½ÚΪµ¥Î»£¬UNIXÏÂΪ64K£¬×ÀÃæ»·¾³ÏÂΪ32K£¬¿ÉÒÔͨ¹ý²éѯÊý¾Ý×ÖµäUSER_OBJECT_SIZEµÄPARSED_SIZE×ֶβ鿴¶ÔÏó´óС¡£¶ÔÓڽϴóµÄ°ü£¬Ó¦²ÉÓòð°ü²ßÂÔ£¬³éÈ¡¸´Óò¿·Ö£¬¼õÉÙÖØ¸´´úÂ룻¶ÔÓڽϴóµÄ´æ´¢¹ý³Ì£¬Ó¦½«´æ´¢¹ý³Ì×éÖ¯µ½°üÖУ¬Ò×ÓÚ¹ÜÀí£»¶ÔÓڽϴóµÄÄäÃû¿é£¬Ó¦½«ÄäÃû¿éÖØÐ¶¨Òå³É×Ó¹ý³Ì±£´æÔÚÊý¾Ý¿âÖС£
2. ÍÑÀë¿ØÖÆµÄÈ«¾Ö±äÁ¿
Ó°Ï죺¿Éά»¤ÐÔ
Ö¢×´£ºÔÚ°üÖÐʹÓÃÁËÈ«¾Ö±äÁ¿£¬ÔÚ¶à¸öλÖöÔÈ«¾Ö±äÁ¿½øÐвÙ×÷¡£
CREATE OR REPLACE PACKAGE BODY PKG_TEST IS
GN_È«¾Ö±äÁ¿ NUMBER(12, 2);
PROCEDURE ¹ý³ÌA IS
BEGIN
GN_È«¾Ö±äÁ¿:=1;
END;
PROCEDURE ¹ý³ÌB IS
BEGIN
GN_È«¾Ö±äÁ¿:=2; -- ÕâÀï¶ÔÈ«¾Ö±äÁ¿½øÐÐÁËÁíÍâµÄ²Ù×÷
EN
Ïà¹ØÎĵµ£º
»úÆ÷Çé¿ö
p4: 2.4
ÄÚ´æ: 1 G
os: windows 2003
Êý¾Ý¿â: ms sql server 2000
Ä¿µÄ: ²éѯÐÔÄܲâÊÔ,±È½ÏÁ½ÖÖ²éѯµÄÐÔÄÜ
SQL²éѯЧÂÊ step by step
-- setp 1.
-- ½¨±í
create table t_userinfo
(
userid int identity(1,1) primary key nonclustered,
nick varchar(50) not null default '',
classid int not nul ......
1 Âß¼Êý¾Ý¿âºÍ±íµÄÉè¼Æ
Êý¾Ý¿âµÄÂß¼Éè¼Æ¡¢°üÀ¨±íÓë±íÖ®¼äµÄ¹ØÏµÊÇÓÅ»¯¹ØÏµÐÍÊý¾Ý¿âÐÔÄܵĺËÐÄ¡£Ò»¸öºÃµÄÂß¼Êý¾Ý¿âÉè¼Æ¿ÉÒÔΪ
ÓÅ»¯Êý¾Ý¿âºÍÓ¦ÓóÌÐò´òÏÂÁ¼ºÃµÄ»ù´¡¡£
±ê×¼»¯µÄÊý¾Ý¿âÂß¼Éè¼Æ°üÀ¨ÓöàµÄ¡¢ÓÐÏ໥¹ØÏµµÄÕ±íÀ´´úÌæºÜ¶àÁеij¤Êý¾Ý±í¡£ÏÂÃæÊÇһЩʹÓñê×¼»¯
±íµÄһЩºÃ´¦¡£
A:ÓÉÓÚ±íÕ£¬Òò´Ë¿ÉÒÔʹŠ......
¹¤×÷ÖÐÅöµ½µÄС¼¼ÇÉ£¬±ÈÈç˵ҪÓÃÊý¾Ý±íÀïÈ¡³ö×¢²áÓû§µÄ×ÊÁÏ£¬ÐÔ±ðΪ1ÔòÏÔʾΪÄÐÉú£»ÐÔ±ðΪ2ÔòÏÔʾΪŮÉú£»ÒÔǰ¶¼ÊÇ´Ó±íÀïÈ¡³öÊý¾Ý£¬È»ºóÔÙÓôúÂë½øÐÐÅжϣ¬Îª1ÔòÏÔʾΪÄÐÉú£»Îª2ÔòÏÔʾΪŮÉú£»Æäʵµ¥ÓÃSQLÓï¾ä¾Í¿ÉÒÔ×öµ½£¬ÈçÏ£º
Ö±½ÓʹÓÃcase when else Óï¾ä
Case¾ßÓÐÁ½ÖÖ¸ñʽ¡£¼òµ¥Caseº¯ÊýºÍCaseË ......
1. ´´½¨´¥·¢Æ÷, ÔÚmssqlϵĴ¥·¢Æ÷µÄʹÓÃ:Db->±í->Ñ¡Ôñ±íÃû->ËùÓÐÈÎÎñ(ÓÒ¼ü)->¹ÜÀí´¥·¢Æ÷
2. µ±±í±»¸üÐÂ\²åÈë\ɾ³ýºó,¶¼¿ÉÒÔͨ¹ý¶¨Òå´¥·¢Æ÷À´ÏìÓ¦¸Ãʼþ,´Ó¶ø½øÐÐÏàÓ¦µÄ´¦Àí! ÈçÒ»¸öѧÉúתϵÁË,ÆäѧºÅ±»¸ü»»ÁË,ËûËù½èµÄͼÊé¶ÔÓ¦µÄѧºÅÒ²ÏàÓ¦ÐèÒª¸Ä¶¯,Õâ¸öÎÒÃÇ¿ÉÒÔֻͨ¹ýupdateÆäѧºÅ,ºÍѧºÅÏà¹ØÁªµÄ±íÓÉ´¥·¢Æ÷ ......
--SQL Server£º
Select TOP N * from TABLE Order By NewID()
--Access£º
Select TOP N * from TABLE Order By Rnd(ID)
Rnd(ID) ÆäÖеÄIDÊÇ×Ô¶¯±àºÅ×ֶΣ¬¿ÉÒÔÀûÓÃÆäËûÈκÎÊýÖµÀ´Íê³É£¬±ÈÈçÓÃÐÕÃû×Ö¶Î(U ......