¡¾×ª¡¿ 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 ......
´ó¼Ò¶¼ÔÚÌÖÂÛ¹ØÓÚÊý¾Ý¿âÓÅ»¯·½ÃæµÄ¶«¶«£¬¸ÕºÃ²ÎÓ뿪·¢ÁËÒ»¸öÊý¾Ý²Ö¿â·½ÃæµÄÏîÄ¿£¬ÒÔϵÄÒ»µã¶«Î÷ËãÊÇÊý¾Ý¿âÓÅ»¯·½ÃæµÄѧϰ+ʵսµÄһЩÐĵÃÌå»áÁË£¬ÄóöÀ´´ó¼Ò¹²Ïí¡£»¶ÓÅúÆÀÖ¸Õý°¢£¡
SQLÓï¾ä£º
ÊǶÔÊý¾Ý¿â(Êý¾Ý)½øÐвÙ×÷µÄΩһ;¾¶£»
ÏûºÄÁË70%~90%µÄÊý¾Ý¿â×ÊÔ´£»¶ÀÁ¢ÓÚ³ÌÐòÉè¼ÆÂß¼£¬Ïà¶ÔÓÚ¶Ô³ÌÐòÔ´´úÂëµÄÓÅ»¯£¬¶ÔSQ ......
¹¤×÷ÖÐÅöµ½µÄС¼¼ÇÉ£¬±ÈÈç˵ҪÓÃÊý¾Ý±íÀïÈ¡³ö×¢²áÓû§µÄ×ÊÁÏ£¬ÐÔ±ðΪ1ÔòÏÔʾΪÄÐÉú£»ÐÔ±ðΪ2ÔòÏÔʾΪŮÉú£»ÒÔǰ¶¼ÊÇ´Ó±íÀïÈ¡³öÊý¾Ý£¬È»ºóÔÙÓôúÂë½øÐÐÅжϣ¬Îª1ÔòÏÔʾΪÄÐÉú£»Îª2ÔòÏÔʾΪŮÉú£»Æäʵµ¥ÓÃSQLÓï¾ä¾Í¿ÉÒÔ×öµ½£¬ÈçÏ£º
Ö±½ÓʹÓÃcase when else Óï¾ä
Case¾ßÓÐÁ½ÖÖ¸ñʽ¡£¼òµ¥Caseº¯ÊýºÍCaseË ......
Select TOP N * from TABLE Order By NewID()
--Access£º
Select TOP N * from TABLE Order By Rnd(ID)
Rnd(ID) ÆäÖеÄIDÊÇ×Ô¶¯±àºÅ×ֶΣ¬¿ÉÒÔÀûÓÃÆäËûÈκÎÊýÖµÀ´Íê³É£¬±ÈÈçÓÃÐÕÃû×Ö¶Î(UserName)
Selec ......