Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

PL/SQL³õѧÕ߱ضÁ£º¼¸Ê®¸öʵÓõÄPL/SQL

µÚÒ»½×¶Î
Q.±àдһ¸öPL/SQL³ÌÐò¿éÒÔÏÔʾËù¸ø³ö¹ÍÔ±±àºÅµÄ¹ÍÔ±µÄÏêϸÐÅÏ¢¡£
A.
 DECLARE
 erec emp%ROWTYPE;
BEGIN
 SELECT * INTO erec from emp  WHERE empno=&¹ÍÔ±±àºÅ;
 DBMS_OUTPUT.PUT_LINE('EmpNo' || ' ' || 'Ename' || ' '|| 'Job' || ' ' || 'Manager' || ' ' || 'HireDate' || ' ' || 'Salary' || ' ' || 'Commision' || ' ' || 'DeptNo');
 DBMS_OUTPUT.PUT_LINE(erec.ename || ' ' || erec.job || '  ' || erec.mgr || '  ' ||erec.hiredate || '  ' || erec.sal || '  ' || erec.comm || '  ' || erec.deptno);
END;
/
Q.±àдһ¸öPL/SQL³ÌÐò¿éÒÔ¼ÆËãij¸ö¹ÍÔ±µÄÄê¶Èнˮ×ܶ
A.
DECLARE
 esal NUMBER;
 eename emp.ename%TYPE;
BEGIN
 SELECT (NVL(sal,0)+NVL(comm,0))*12,ename INTO esal,eename from emp WHERE empno=&¹ÍÔ±±àºÅ;
 DBMS_OUTPUT.PUT_LINE(eename || '''s Years Salary is ' || esal);
END;
/
Q.°´ÏÂÁмÓн±ÈÖ´ÐУº
  Deptno Raise(%age)
10 5%
20 10%
30 15%
40 20%
¼ÓнµÄ°Ù·Ö±ÈÊÇÒÔËûÃÇÏÖÓеÄнˮΪ¸ù¾ÝµÄ¡£Ð´Ò»PL/SQLÒÔ¶ÔÖ¸¶¨¹ÍÔ±¼Óн¡£
A.
DECLARE
 vcounter NUMBER:=10;
 vraise NUMBER;
BEGIN
 LOOP
  EXIT WHEN vcounter>40;
  UPDATE emp set sal=NVL(sal,0)+NVL(sal,0)*0.05  WHERE deptno=vcounter;
  vcounter:=vcounter+10;
 END LOOP;
END;
/
Q.±àдһPL/SQLÒÔÏò"emp"±íÌí¼Ó10¸öйÍÔ±±àºÅ¡£
£¨Ìáʾ£ºÈç¹ûµ±Ç°×î´óµÄ¹ÍÔ±±àºÅΪ7900£¬ÔòйÍÔ±±àºÅ½«Îª7901µ½7910£©
A.
DECLARE
 vcounter NUMBER;
BEGIN
 SELECT MAX(empno) INTO vcounter from emp;
 FOR i IN 1..10
 LOOP
  vcounter:=vcounter+1;
  INSERT INTO emp(empno) VALUES(vcounter);
 END LOOP;
END;
/
Q.ֻʹÓÃÒ»¸ö±äÁ¿À´½â¾öʵÑé¿Î×÷Òµ4¡£
A
DECLARE
 erec emp%ROWTYPE;
-- vraise NUMBER;
BEGIN
 SELECT * INTO erec
 from emp
 WHERE ename='&ename';
 IF erec.job='CLERK' THEN
  UPDATE emp SET sal=sal+500 WHERE empno=erec.empno;
 ELSIF erec.job='SALESMAN' THEN
  UPDATE emp SET sal=sal+1000 WHERE empno=erec.empno;
 ELSIF e


Ïà¹ØÎĵµ£º

[Sql Server2008]Ê÷½á¹¹µÄµÝ¹éËã·¨

±¾ÎÄÖ÷Òª½²ÊöÈý¸öÄÚÈÝ£º
1.ÈçºÎ´´½¨hierarychyidµÄ±í£¬²åÈëÊý¾Ý¼°»ù±¾µÝ¹é²éѯ¡£
2.½éÉÜhierarchyidµÄ10ÖÖרÓк¯Êý¡£
3.½éÉÜhierarchyidÌØÓеÄÉî¶ÈÓÅÏÈË÷Òý(Depth-First Indexing)ºÍ¹ã¶ÈÓÅÏÈË÷Òý(Breadth-First Indexing)
ÔÚÉÏÒ»½ÚÖÐ
http://blog.csdn.net/tjvictor/archive/2009/07/30/4395677.aspx
ÎÒÃÇÒѾ­ÑÝ ......

SQL×¢Èë·¨¹¥»÷ Ïê½â


Ëæ×ÅB/SģʽӦÓÿª·¢µÄ·¢Õ¹£¬Ê¹ÓÃÕâÖÖģʽ±àдӦÓóÌÐòµÄ³ÌÐòÔ±Ò²Ô½À´Ô½¶à¡£µ«ÊÇÓÉÓÚ³ÌÐòÔ±µÄˮƽ¼°¾­ÑéÒ²²Î²î²»Æë£¬Ï൱´óÒ»²¿·Ö³ÌÐòÔ±ÔÚ±àд´úÂëµÄʱºò£¬Ã»ÓжÔÓû§ÊäÈëÊý¾ÝµÄºÏ·¨ÐÔ½øÐÐÅжϣ¬Ê¹Ó¦ÓóÌÐò´æÔÚ°²È«Òþ»¼¡£Óû§¿ÉÒÔÌá½»Ò»¶ÎÊý¾Ý¿â²éѯ´úÂ룬¸ù
¾Ý³ÌÐò·µ»ØµÄ½á¹û£¬»ñµÃijЩËûÏëµÃÖªµÄÊý¾Ý£¬Õâ¾ÍÊÇËùνµÄSQ ......

sql—datediff º¯Êý


 
DATEDIFF
   ·µ»Ø¿çÁ½¸öÖ¸¶¨ÈÕÆÚµÄÈÕÆÚºÍʱ¼ä±ß½çÊý¡£
   
   Ò»¡¢ Óï·¨ 
   DATEDIFF ( datepart , startdate , enddate ) 
    
   ¶þ¡¢²ÎÊý
   datepar ......

PL/SQL DEVELOPER »ù±¾Ó÷¨Ïê½â£¨×ª£©

PL/SQL DEVELOPER »ù±¾Ó÷¨Ïê½â(½¨Òéд¹ýµÚÒ»¸ö´æ´¢¹ý³ÌºóµÄ³õÊֱضÁ)
  
ÓùýoracleµÄ¶¼±§Ô¹£¬ÎªÁËÎȶ¨ ËüÌṩµÄͼÐλ¯²Ù×÷ ËÙ¶ÈÂýµÄÈÃÈËÉËÐÄѽ£¬p4+128MµÄ»úÆ÷Ö»ÒªÆô¶¯Ò»¸ö
  
oracle·þÎñ¾Í¹»ÈÃÈËÉËÐĵģ¬ÔÙÔÚdba studioÀïÃæ²Ù×÷ÕæÄÜÈÃÈ˿ޡ£
  pl/sql developerÕýÊǽâ¾öÕâ¸öÎÊÌâµ ......

PL/SQL ¿éµÄѧϰ£¨¾«»ª£©

PL/SQL¿é
  declare
  begin
   --SQLÓï¾ä
   --Ö±½ÓдµÄSQLÓï¾ä(DML/TCL)
   --¼ä½Óдexecute immediate <DDL/DCLÃüÁî×Ö·û´®>
   --select Óï¾ä
        <1>±ØÐë´øÓÐinto×Ó¾ä
      ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ