Oracle ѧϰ£ºPL/SQLÑÐò½¥½øÈ«ÃæÑ§Ï°½Ì³Ì
¿Î³Ì Ò» PL/SQL »ù±¾²éѯÓëÅÅÐò
¡¡¡¡
¡¡¡¡±¾¿ÎÖØµã£º
¡¡¡¡
¡¡¡¡1¡¢Ð´SELECTÓï¾ä½øÐÐÊý¾Ý¿â²éѯ
¡¡¡¡
¡¡¡¡2¡¢½øÐÐÊýѧÔËËã
¡¡¡¡
¡¡¡¡3¡¢´¦Àí¿ÕÖµ
¡¡¡¡
¡¡¡¡4¡¢Ê¹ÓñðÃûALIASES
¡¡¡¡
¡¡¡¡5¡¢Á¬½ÓÁÐ
¡¡¡¡
¡¡¡¡6¡¢ÔÚSQL PLUSÖб༻º³å£¬ÐÞ¸ÄSQL SCRIPTS
¡¡¡¡
¡¡¡¡7¡¢ORDER BY½øÐÐÅÅÐòÊä³ö¡£
¡¡¡¡
¡¡¡¡8¡¢Ê¹ÓÃWHERE ×ֶΡ£
¡¡¡¡
¡¡¡¡Ò»¡¢Ð´SQL ÃüÁ
¡¡¡¡
¡¡¡¡²»Çø·Ö´óСд¡£
¡¡¡¡
¡¡¡¡SQL Óï¾äÓÃÊý×Ö·ÖÐУ¬ÔÚSQL PLUSÖб»³ÆÎª»º³åÇø¡£
¡¡¡¡
¡¡¡¡×îºóÒÔ£»»ò / ½áÊøÓï¾ä¡£
¡¡¡¡
¡¡¡¡Ò²¿ÉÒÔÓÃRUNÀ´Ö´ÐÐÓï¾ä
¡¡¡¡
¡¡¡¡¶þ¡¢Àý1£ºSQL> SELECT dept_id, last_name, manager_id
¡¡¡¡
¡¡¡¡2 from s_emp;
¡¡¡¡
¡¡¡¡2£ºSQL> SELECT last_name, salary * 12, commission_pct
¡¡¡¡
¡¡¡¡2 from s_emp;
¡¡¡¡
¡¡¡¡¶ÔÓÚÊýÖµ»òÈÕÆÚÐ͵Ä×ֶΣ¬¿ÉÒÔ½øÐÐÏàÓ¦µÄËÄÔòÔËË㣬ÓÅÏȼ¶Óë±ê×¼µÄ¸ß¼¶ÓïÑÔÏàͬ¡£
¡¡¡¡
¡¡¡¡SQL> SELECT last_name, salary, 12 * (salary + 100)
¡¡¡¡
¡¡¡¡2 from s_emp;
¡¡¡¡
¡¡¡¡Èý¡¢ÁеıðÃûALIASES£º
¡¡¡¡
¡¡¡¡¼ÆËãµÄʱºòÌØ±ðÓÐÓã»
¡¡¡¡
¡¡¡¡½ô¸ú×ÅÁÐÃû£¬»òÔÚÁÐÃûÓë±ðÃûÖ®¼ä¼Ó“AS”£»
¡¡¡¡
¡¡¡¡Èç¹û±ðÃûÖк¬ÓÐSPACE£¬ÌØÊâ×Ö·û£¬»ò´óСд£¬ÒªÓÃË«ÒýºÅÒýÆð¡£
¡¡¡¡
¡¡¡¡Àý(Òò×ÖÌåÔÒò£¬¶ÁÕßÇë¼Çס£ºÒýºÅΪӢÎÄË«ÒýºÅDouble Quotation)£º
¡¡¡¡
¡¡¡¡SQL> SELECT last_name, salary,
¡¡¡¡
¡¡¡¡2 12 * (salary + 100) ”Annual Salary”
¡¡¡¡
¡¡¡¡3 from s_emp;
¡¡¡¡
¡¡¡¡ËÄ¡¢Á¬½Ó·ûºÅ£º||
¡¡¡¡
¡¡¡¡Á¬½Ó²»Í¬µÄÁлòÁ¬½Ó×Ö·û´®
¡¡¡¡
¡¡¡¡Ê¹½á¹û³ÉΪһ¸öÓÐÒâÒåµÄ¶ÌÓ
¡¡¡¡
¡¡¡¡SQL> SELECT first_name || ’ ’ || last_name
¡¡¡¡
¡¡¡¡2 || ’, ’|| title ”Employees”
¡¡¡¡
¡¡¡¡3 from s_emp;
¡¡¡¡
¡¡¡¡Îå¡¢¹ÜÀíNULLÖµ£º
¡¡¡¡
¡¡¡¡SQL> SELECT last_name, title,
¡¡¡¡
¡¡¡¡2 salary * NVL(commission_pct,0)/100 COMM
¡¡¡¡
¡¡¡¡3 from s_emp;
¡¡¡¡
¡¡¡¡´Ëº¯ÊýʹNULLת»¯ÎªÓÐÒâÒåµÄÒ»¸öÖµ£¬Ï൱ÓÚÌæ»»NULL¡£
nvl(×ֶΣ¬Öµ£©£¬Èç¹û µÚÒ»¸ö²ÎÊý ×ֶΠΪNULL ¾Í ·µ»ØµÚ¶þ¸ö²ÎÊý Öµ£¬·ñÔò µÚÒ»¸ö²ÎÊý²»ÎªNULL ¾Í·µ»ØµÚÒ»²ÎÊý×ֶα¾ÉíÖµ¡£
¡¡¡¡
¡¡¡¡Áù¡¢SQL PLUSµÄ»ù±¾ÄÚÈÝ£¬Çë²Î¿¼<SQL PLUS ¼òµ¥ÊµÓþ«ËèÆª >
¡¡¡¡
¡¡¡¡Æß¡¢ORDER BY ²Ù×÷£º
¡¡¡¡
¡¡¡¡ÓëÆ
Ïà¹ØÎĵµ£º
ÒªÏÔʾ1µ½2ÐÐÔò¿ÉÒÔͨ¹ý
select * from dangan where rownum between 1 and 2
ÔÚOracle
ÖУ¬Òª°´Ìض¨Ìõ¼þ²éѯǰNÌõ¼Ç¼£¬Óøörownum
¾Í¸ã¶¨ÁË¡£
select *
from emp where rownum
<= 5
¶øÇÒÊéÉÏÒ²¸æ½ë£¬²»ÄܶÔrownum
ÓÃ">"£¬ÕâÒ²¾ÍÒâζ×Å£¬Èç¹ûÄãÏëÓÃ
select * from emp
where row ......
5.2 Clustered Indexes(¾Û¼¯Ë÷Òý) (page 122)
¾Û¼¯Ë÷Òý決¶¨ÁËÒ»個±í數據µÄÎïÀíÅÅÁÐ順Ðò£¬ËùÒÔ£¬Ò»個±í隻ÄÜÓÐÒ»個¾Û¼¯Ë÷Òý¡£圖5.1±íʾÁËÒ»個¾Û¼¯Ë÷ÒýµÄ結構¡£
Figure 5.1
The structure of a clustered index
Ò»個¾Û¼¯Ë÷ÒýµÄ×îµ×& ......
Vista³öÁËÃûµÄ¼æÈÝÐÔÎÊÌâ¶à£¬ºÜ¶àÈËÒ²¿àÓÚSQL SERVER²»Äܰ²×°ÔÚVistaÏ¡£ÏÖÔÚÎÒ½«×Ô¼ºµÄ°²×°¹ý³Ì˵Ï£º
²Ù×÷ϵͳ£ºWindows Vista Home Basic
´¦Àíµ¥Ôª£ºInter P8600 2.40GHz
Ö÷´æ´¢Æ÷£º2G
Íâ´æ´¢Æ÷£º250G
Èí¼þ×¼±¸£º£¨¶¼¿ÉÒÔÔÚ΢Èí¹Ù·½ÍøÕ¾ÕÒµ½£¬¾ùÃâ·Ñ£©
1.SQL SERVER 2005 EXPRESS£¨40.6M ......
¡¾SQL SERVER Êý¾Ý¿âʵÓÃSQLÓï¾ä¡¿
1.°´ÐÕÊϱʻÅÅÐò:
Select * from TableName Order By CustomerName Collate Chinese_PRC_Stroke_ci_as
2.·ÖÒ³SQLÓï¾ä
select * from(select (row_number() OVER (ORDER BY tab.ID Desc)) as rownum,tab.* from ±íÃû As tab) As t where rownum between ÆðʼλÖà And ½áÊøÎ»ÖÃ
......
1£º ¼Ó´ó»Ø¹ö¶Î£¨¿ÉÒÔ¸ø500MÉõÖÁ1G£©
2£º·Ö¶Îcommit
iCount :=1;
for rec in cur_name loop
insert into table_name (.....);//DML Lanaguage
if iCount =2000 then
commit;
iCount:=0;
else
iCount:= iCount +1;
......