Oracle ѧϰ£ºPL/SQLÑÐò½¥½øÈ«ÃæÑ§Ï°½Ì³Ì
¿Î³ÌÊ®Èý ʹÓÃ×éºÏÊý¾ÝÀàÐÍ* Óαê²Ù×ÝÊý¾Ý
¡¡¡¡
¡¡¡¡±¾¿ÎÖØµã£º
¡¡¡¡1¡¢´´½¨Óû§×Ô¶¨ÒåµÄPLSQL¼Ç¼
¡¡¡¡2¡¢ÀûÓÃ%ROWTYPEÊôÐÔÀ´´´½¨¼Ç¼
¡¡¡¡3¡¢´´½¨PLSQL±í
¡¡¡¡4¡¢ÃèÊö¼Ç¼¡¢±í¡¢¼Ç¼µÄ±íÖ®¼äµÄÇø±ð
¡¡¡¡×¢Ò⣺ÒÔÏÂʵÀýÖбêµã¾ùΪӢÎİë½Ç
¡¡¡¡Ò»¡¢ºÏ³ÉÊý¾ÝÀàÐÍ
¡¡¡¡1¡¢ÀàÐÍ·ÖΪPLSQL¼Ç¼ºÍPLSQL±í
¡¡¡¡2¡¢°üº¬ÄÚ²¿×é¼þ
¡¡¡¡3¡¢¿ÉÖØÓÃ
¡¡¡¡¶þ¡¢PLSQL¼Ç¼
¡¡¡¡Óë3GLÖеļǼ½á¹¹ÏàËÆ
¡¡¡¡ÓëÊý¾Ý¿â±íÊÇÁ½»ØÊÂ
¡¡¡¡ÊÇÒ»¸ö·½±ãµÄ;¾¶FETCHһЩÐÐfromÒ»¸ö±íÀ´½øÐÐÏà¹Ø´¦Àí¡£
¡¡¡¡±ê×¼Óï·¨¸ñʽÎÒÃÇÔݲ»½éÉÜ£¬ÒòΪÿ±¾ÊéÉϾùÓС£
¡¡¡¡¿´Àý×Ó£º
¡¡¡¡declare
¡¡¡¡vjob varchar(9);
¡¡¡¡v_count number:=0;
¡¡¡¡vtotal date:=sysdate +7;
¡¡¡¡c_tax constant number(3,2):=8.25;
¡¡¡¡v_valid boolean not null:=true;
¡¡¡¡ttt vtotal%type;
¡¡¡¡type emp_record_type is record
¡¡¡¡(empno number not null:=100,
¡¡¡¡ename emp.ename%type,
¡¡¡¡job¡¡emp.job%type);
¡¡¡¡emp_record emp_record_type;
¡¡¡¡begin
¡¡¡¡--select sysdate into vtotal from dual;--Ìå»áÓÐÎ޴˾äÓë½á¹ûµÄÓ°Ïì
¡¡¡¡dbms_output.put_line (vtotal);
¡¡¡¡end;
¡¡¡¡/
¡¡¡¡Ö÷Òª¿´TYPE RECORD³öÏÖµÄλÖá£Ã¿Ò»¸öÀý×Ó¶¼ÊÇ¿ÉÒԳɹ¦Ö´Ðеġ£
¡¡¡¡ÎÒÃÇÒ²¿ÉÒÔÀûÓÃÔÓеıí½á¹¹£º
¡¡¡¡DECLARE
¡¡¡¡EMP_RECORD EMP%ROWTYPE£»
¡¡¡¡Óαê²Ù×ÝÊý¾Ý
¡¡¡¡PLSQLÓαêÌṩÁËÒ»ÖÖ´ÓÊý¾Ý¿âÌáÈ¡¶àÐÐÊý¾Ý£¬È»ºó¶ÔÿÐÐÊý¾Ý½øÐе¥¶À´¦ÀíµÄ·½·¨¡£
¡¡¡¡Ò»¡¢Á½ÖÖÓα꣺
¡¡¡¡ÏÔʽÓαê
¡¡¡¡ÒþʽÓαê
¡¡¡¡¶þ¡¢ÏÔʽÓα꣺²Ù×ݲ½ÖèÈçÏ£ºÉùÃ÷Óαꡢ´ò¿ªÓαꡢ´ÓÓαêÖÐÈ¡»ØÊý¾Ý¡¢¹Ø±ÕÓαê
¡¡¡¡Èý¡¢ÉùÃ÷Óα꣺
¡¡¡¡DECLARE CURSOR_NAME
¡¡¡¡IS
¡¡¡¡SELECT STATMENT
¡¡¡¡Äܹ»¿ØÖÆÓαêµÄ£¬Î¨Ò»²ÎÊýÊÇINIT.ORAÖеÄOPEN_CURSORS£¬ÎÒÔÀ´ÒÔΪÊǿͻ§¶Ë×î¶à¿ÉÒÔ´ò¿ª¶àÉÙ¸öÓα꣬µ«ÓÐ
±¾ÊéÉϽ²ÕâÊÇÓÃÓÚ¹ÜÀíÓαêµÄÄÚ´æµÄÊýÁ¿¡£
¡¡¡¡DECLARE
¡¡¡¡CURSOR C_NAME
¡¡¡¡IS
¡¡¡¡SELECT ENAME from EMP
¡¡¡¡WHERE DEPTNO IN (SELECT DEPTNO from DEPT
¡¡¡¡WHERE CITY_ID=‘BJ’)
¡¡¡¡--- ˵Ã÷Óαê¿ÉÒÔÓÃ×Ó²éѯ
¡¡¡¡ËÄ¡¢´ò¿ªÓαê
¡¡¡¡OPEN CURSOR_NAME£»
¡¡¡¡ÕâʱÓα꽫ËüµÄÖ¸ÕëÖ¸Ïò»î¶¯¼¯µÄ¿ªÊ¼£¬Ö¸ÕëÖ¸ÏòµÚÒ»Ìõ¼Ç¼µÄÇ°ÃæÊÇÒòΪËü»¹Ã»ÓÐÖ´ÐÐFETCHÃüÁî¡£Èç¹ûÊÔͼ´ò
¿ªÒ»¸öÒѾ´ò¿ªµÄÓα꣬½«³ö´í£º
¡¡¡¡ORA-06511£ºPL/SQL£ºCURSOR ALREADY OPEN
¡¡¡¡ÎÒÃÇ¿É
Ïà¹ØÎĵµ£º
error£º40´íÎó ÔÒòÊÇÒòΪ SQL Server2005 ĬÈϵÄÉèÖÃΪ²»ÔÊÐíÔ¶³ÌÁ¬½Ó£¬¾Í»áµ¼Ö´Ëʧ°Ü¡£ Ìáʾ£ºprovider£ºÃüÃû¹ÜµÀÌṩ³ÌÐò£¬ error£º40-ÎÞ·¨´ò¿ªµ½ SQL Server µÄÁ¬½Ó)¡£ÊµÀý£¨Ä¬ÈÏÊÇ¡°SQLEXPRESS¡± ·½·¨£º A:¿ªÊ¼->ÅäÖù¤¾ß->SQL Server ÍâΧӦÓÃÅäÖÃÆ÷->·þÎñºÍÁ¬½ÓÍâΧӦÓÃÅäÖÃÆ÷ B:Ñ¡database EngineµÄ¡ ......
¡¡¿Î³Ì ¶þ PL/SQL ²éѯÐк¯Êý
¡¡¡¡
¡¡¡¡±¾¿ÎÖØµã£º
¡¡¡¡1¡¢ÕÆÎÕ¸÷ÖÖÔÚPL/SQLÖпÉÓõÄROWº¯Êý
¡¡¡¡
¡¡¡¡2¡¢Ê¹ÓÃÕâЩº¯ÊýµÄ»ù±¾¸ÅÄî
¡¡¡¡
¡¡¡¡3¡¢SELECTÓï¾äÖÐʹÓú¯Êý
¡¡¡¡
¡¡¡¡4¡¢Ê¹ÓÃת»»º¯Êý
¡¡¡¡
¡¡¡¡×¢Ò⣺ÒÔÏÂʵÀýÖбêµã¾ùΪӢÎİë½Ç
¡¡¡¡
¡¡¡¡Ò»¡¢FUNCTIONµÄ×÷Óãº
¡¡¡¡
¡¡¡¡½øÐÐÊý¾Ý¼ÆË㣬ÐÞ¸Ä ......
¿Î³ÌËÄ ×麯Êý
¡¡¡¡
¡¡¡¡±¾¿ÎÖØµã£º
¡¡¡¡1¡¢Á˽â¿ÉÓõÄ×麯Êý
¡¡¡¡2¡¢ËµÃ÷ÿ¸ö×麯ÊýµÄʹÓ÷½·¨
¡¡¡¡3¡¢Ê¹ÓÃGROUP BY
¡¡¡¡4¡¢Í¨¹ýHAVINGÀ´ÏÞÖÆ·µ»Ø×é
¡¡¡¡×¢Ò⣺ÒÔÏÂʵÀýÖбêµã¾ùΪӢÎİë½Ç
¡¡¡¡Ò»¡¢¸ÅÄ
¡¡¡¡×麯ÊýÊÇÖ¸°´Ã¿×é·µ»Ø½á¹ûµÄº¯Êý¡£
¡¡¡¡×麯Êý¿ÉÒÔ³öÏÖÔÚSELECTºÍHAVING ×Ö¶ÎÖС£
¡¡¡¡GROUP ......
¸Õ¸Õ¸ßÖеÄһλͬѧÎÊÎÒÒ»µÀ±ÊÊÔÌ⣺Çë¼òÊöSQL×¢Èëʽ¹¥»÷¼°ÆäÔÀí¡£
£¨Q£º¹¥»÷£¿ÄѵÀÊÇ×öºÚ¿ÉÂ𣿣¿£©
¿ÉÒÔ°ÑÕâÖÖÐÐΪÀí½â³ÉºÚ¿ÍÐо¶£¬ÒòΪÕâÑù×öµÄÄ¿µÄ¾ÍÊÇ¡°·Ç·¨»ñÈ¡¡±¡£
£¨Q£ºÔõô×ö£¿£©
¿ÉÒÔ°´ÕÕÎÒÏÂÃæµÄ²½ÖèÒ»²½Ò»²½À´£¬´ó¼ÒÒ²¾Íµ±Ò»»Ø¡°ºÚ¿Í¡±ÁË¡££¨P.S. Õâ¿ÉÊÇÎÒ¡°¶À¼ÒÑÐÖÆ¡± ......
¿Î³ÌÊ®¶þ ±àд¿ØÖƽṹÓï¾ä
¡¡¡¡
¡¡¡¡±¾¿ÎÖØµã£º
¡¡¡¡1¡¢½á¹¹¿ØÖƵĵÄÓÃ;ºÍÀàÐÍ
¡¡¡¡2¡¢IF ½á¹¹
¡¡¡¡3¡¢¹¹ÔìºÍ±êʶ²»Í¬µÄÑ»·
¡¡¡¡4¡¢Ê¹ÓÃÂß¼±í
¡¡¡¡5¡¢¿ØÖÆÁ÷ºÍǶÌ×
¡¡¡¡
¡¡¡¡×¢Ò⣺ÒÔÏÂʵÀýÖбêµã¾ùΪӢÎİë½Ç
¡¡¡¡
¡¡¡¡Ò»¡¢¿ØÖÆÖ´ÐÐÁ÷
¡¡¡¡¿ÉÒÔÊÇ·ÖÖ§ºÍÑ»·£ºIF THEN END IF
¡¡¡¡IF condition THEN ......