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 ......
¡¡Ò»¡¢±¸·ÝÊý¾Ý¿â
¡¡¡¡1¡¢´ò¿ªSQLÆóÒµ¹ÜÀíÆ÷£¬ÔÚ¿ØÖÆ̨¸ùĿ¼ÖÐÒÀ´Îµã¿ªMicrosoft SQL Server
¡¡¡¡2¡¢SQL Server×é-->Ë«»÷´ò¿ªÄãµÄ·þÎñÆ÷-->Ë«»÷´ò¿ªÊý¾Ý¿âĿ¼
¡¡¡¡3¡¢Ñ¡ÔñÄãµÄÊý¾Ý¿âÃû³Æ£¨ÈçÂÛ̳Êý¾Ý¿âForum£©-->È»ºóµãÉÏÃæ²Ëµ¥ÖеŤ¾ß-->Ñ¡Ôñ±¸·ÝÊý¾Ý¿â
¡¡¡¡4¡¢±¸·ÝÑ¡ÏîÑ¡ÔñÍêÈ«±¸·Ý£¬Ä¿µÄÖеı ......
ÔÚ´æ´¢¹ý³ÌÖо³£ÐèÒªÖ´ÐгÌÐò×é³ÉµÄSQLÓï¾ä£¬¿ÉÒÔʹÓÃexec(@sql),
Ò²¿ÉÒÔʹÓÃexec sp_executesql @sql¡£µ«Ê¹ÓÃsp_executesqlÒªÓÅÓÚexec£¬½¨ÒéʹÓà sp_executesql ¶ø²»ÒªÊ¹Óà EXECUTE Óï¾äÖ´ÐÐ×Ö·û´®¡£Ö§³Ö²ÎÊýÌæ»»²»½öʹ sp_executesql ±È EXECUTE ¸üͨÓ㬶øÇÒ »¹Ê¹ sp_executesql ¸üÓÐЧ£ ......
¡¾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;
......