PL/SQL ¿éµÄѧϰ£¨¾«»ª£©
PL/SQL¿é
declare
begin
--SQLÓï¾ä
--Ö±½ÓдµÄSQLÓï¾ä(DML/TCL)
--¼ä½Óдexecute immediate <DDL/DCLÃüÁî×Ö·û´®>
--select Óï¾ä
<1>±ØÐë´øÓÐinto×Ó¾ä
select empno into eno from emp
where empno =7369;
<2>Ö»Äܲ鵽һÐÐ**********
<3>×ֶθöÊý±ØÐëºÍ±äÁ¿µÄ¸öÊýÒ»ÖÂ
exception
--Òì³£
when <Òì³£Ãû×Ö> then --ÌØ¶¨Òì³£
<´¦ÀíÓï¾ä>
when others then --ËùÓÐÒì³£¶¼¿É²¶»ñ
<´¦ÀíÓï¾ä>
end;
<Àý×Ó>
±àд³ÌÐò ÏòDEPT±íÖвåÈëÒ»Ìõ¼Ç¼£¬
´Ó¼üÅÌÊäÈëÊý¾Ý£¬Èç¹û
Êý¾ÝÀàÐÍÊäÈë´íÎóÒªÓÐÌáʾ
ÎÞ·¨²åÈë¼Ç¼ Ò²ÒªÓÐÌáʾ
Ö»ÄÜÊäÈëÕýÊý,Èç¹ûÓиºÊýÌáʾ
declare
n number;
no dept.deptno%type;
nm dept.dname%type;
lc dept.loc%type;
exp exception; --Òì³£µÄ±äÁ¿
exp1 exception;
num number:=0; --¼ÆÊýÆ÷
pragma exception_init(exp,-1); --Ô¤¶¨ÒåÓï¾ä
--(-1´íÎóºÍÒì³£±äÁ¿¹ØÁª)
pragma exception_init(exp1,-1476);
e1 exception; --×Ô¶¨ÒåÒì³£±äÁ¿
begin
--ÊäÈëÖµ
no := '&񅧏';
num := num + 1;
if no < 0 then
raise e1; --×Ô¶¨ÒåÒì³£µ
Ïà¹ØÎĵµ£º
±¾ÎÄÖ÷Òª½²ÊöÈý¸öÄÚÈÝ£º
1.ÈçºÎ´´½¨hierarychyidµÄ±í£¬²åÈëÊý¾Ý¼°»ù±¾µÝ¹é²éѯ¡£
2.½éÉÜhierarchyidµÄ10ÖÖרÓк¯Êý¡£
3.½éÉÜhierarchyidÌØÓеÄÉî¶ÈÓÅÏÈË÷Òý(Depth-First Indexing)ºÍ¹ã¶ÈÓÅÏÈË÷Òý(Breadth-First Indexing)
ÔÚÉÏÒ»½ÚÖÐ
http://blog.csdn.net/tjvictor/archive/2009/07/30/4395677.aspx
ÎÒÃÇÒѾÑÝ ......
Ò»Ö±¶Ôʱ¼ä´ÁµÄ¸ÅÄîÄ£ºý£¬²¢ÇÒÍøÉÏÒ²ÓкܶàÅóÓÑÒ²¶¼ÎóÈÏΪ£ºÊÇÒ»¸öʱ¼ä×ֶΣ¬Ã¿´ÎÔö¼ÓÊý¾Ýʱ£¬ÌîÈ뵱ǰµÄʱ¼äÖµ¡£µ¼ÖÂÒ²Îóµ¼Á˺ܶàÅóÓÑ¡£
Õâ´Î¿´Á˺ܶà×ÊÁÏ£¬¾ÀÕýÒ»ÏÂÕâ¸ö´íÎó£¬×Ô¼ºÒ²¸ãÇå³þ£ºÊý¾Ý¿âÖÐ×Ô¶¯Éú³ÉµÄΨһ¶þ½øÖÆÊý×Ö£¬Óëʱ¼äºÍÈÕÆÚÎ޹صģ¬ ͨ³£ÓÃ×÷¸ø±íÐмӰ汾´ÁµÄ»úÖÆ¡£´æ´¢´óСΪ 8 ¸ö×Ö½Ú¡£
&nbs ......
Ò»¡¢Êʺ϶ÁÕß¶ÔÏó
Êý¾Ý¿â¿ª·¢³ÌÐòÔ±£¬Êý¾Ý¿âµÄÊý¾ÝÁ¿ºÜ¶à£¬Éæ¼°µ½¶ÔSP(´æ´¢¹ý³Ì)µÄÓÅ»¯µÄÏîÄ¿¿ª·¢ÈËÔ±£¬¶ÔÊý¾Ý¿âÓÐŨºñÐËȤµÄÈË¡£
¶þ¡¢½éÉÜ
ÔÚÊý¾Ý¿âµÄ¿ª·¢¹ý³ÌÖУ¬¾³£»áÓöµ½¸´ÔÓµÄÒµÎñÂß¼ºÍ¶ÔÊý¾Ý¿âµÄ²Ù×÷£¬Õâ¸öʱºò¾Í»áÓÃSPÀ´·â×°Êý¾Ý¿â²Ù×÷¡£Èç¹ûÏîÄ¿µÄSP½Ï¶à£¬ÊéдÓÖûÓÐÒ»¶¨µÄ¹æ
·¶£¬½«»áÓ°ÏìÒÔºóµÄϵͳά»¤À§ÄÑ ......
Case¾ßÓÐÁ½ÖÖ¸ñʽ¡£¼òµ¥Caseº¯ÊýºÍCaseËÑË÷º¯Êý¡£
--¼òµ¥Caseº¯Êý
CASE sex
WHEN '1' THEN 'ÄÐ'
WHEN '2' THEN 'Å®'
ELSE 'ÆäËû' END
--CaseËÑË÷º¯Êý
CASE WHEN sex = '1' THEN 'ÄÐ'
&nbs ......