Oracle ѧϰ£ºPL/SQLÑÐò½¥½øÈ«Ãæѧϰ½Ì³Ì
¿Î³Ì¾Å ÉùÃ÷±äÁ¿
¡¡¡¡
¡¡¡¡±¾¿ÎÖص㣺
¡¡¡¡1¡¢Á˽â»ù±¾µÄPLSQL¿éºÍÇøÓò
¡¡¡¡2¡¢ÃèÊö±äÁ¿ÔÚPLSQLÖеÄÖØÒªÐÔ
¡¡¡¡3¡¢Çø±ðPLSQLÓë·ÇPLSQL±äÁ¿
¡¡¡¡4¡¢ÉùÃ÷±äÁ¿
¡¡¡¡5¡¢Ö´ÐÐPLSQL¿é
¡¡¡¡
¡¡¡¡×¢Ò⣺ÒÔÏÂʵÀýÖбêµã¾ùΪӢÎÄ°ë½Ç
¡¡¡¡
¡¡¡¡Ò»¡¢¸ÅÊö£º
¡¡¡¡1¡¢PLSQL ¿é½á¹¹£º
¡¡¡¡DECLARE --- ¿ÉÑ¡
¡¡¡¡±äÁ¿ÉùÃ÷¶¨Òå
¡¡¡¡BEGIN¡¡---- ±ØÑ¡
¡¡¡¡SQL ºÍPLSQL Óï¾ä
¡¡¡¡EXCEPTION ---- ¿ÉÑ¡
¡¡¡¡´íÎó´¦Àí
¡¡¡¡END£»---- ±ØÑ¡
¡¡¡¡¶þ¡¢ÊµÀý£º
¡¡¡¡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;
¡¡¡¡begin
¡¡¡¡select sysdate into vtotal from dual;
¡¡¡¡end;
¡¡¡¡/
¡¡¡¡ÉÏÀýÖУ¬Èç¹ûûÓÐÕâ¸öSELECTÓï¾ä£¬»áÈçºÎ£¿
¡¡¡¡³ö´í£¬ËµÃ÷±ØÐëÓÐSTATEMENTS
¡¡¡¡Èç¹û£º select sysdate from dual into vtotal ;
¡¡¡¡Í¬Ñù£¬Ò²²»ÐС£¶øÇÒ±äÁ¿Ó븳ֵµÄÀàÐÍҪƥÅä¡£
¡¡¡¡Èý¡¢%TYPEµÄÊôÐÔ
¡¡¡¡ÉùÃ÷Ò»¸ö±äÁ¿Ê¹Ö®ÓëÊý¾Ý¿âij¸öÁеĶ¨ÒåÏàͬ»òÓëÁíÒ»¸öÒѾ¶¨Òå¹ýµÄ±äÁ¿Ïàͬ
¡¡¡¡ËùÒÔ%TYPEÒª×÷ΪÁÐÃûµÄºó׺£ºÈ磺
¡¡¡¡v_last_name s_emp.last_name%TYPE;
¡¡¡¡v_first_name s_emp.first_name%TYPE; --ÕâÑù×öµÄºÃ´¦ÊÇÎÒÃDz»±ØÈ¥ÖªÏþ´ËÁеÄÀàÐÍÓ붨Òå
¡¡¡¡»ò£ºv_balance NUMBER(7,2);
¡¡¡¡v_minimum_balance v_balance%TYPE := 10;
¡¡¡¡ËÄ¡¢ÉùÃ÷Ò»¸ö²¼¶ûÀàÐ͵ıäÁ¿
¡¡¡¡1 Ö»ÓÐTRUE¡¢FALSE¡¢NULL¿ÉÒÔ¸³Öµ¸øBOOLEAN±äÁ¿
¡¡¡¡2 ´Ë±äÁ¿¿ÉÒÔ½ÓÂß¼ÔËËã·ûNOT¡¢AND¡¢OR¡£
¡¡¡¡3¡¢±äÁ¿Ö»ÄܲúÉúTRUE¡¢FALSE¡¢NULL¡£
¡¡¡¡ÊµÀý£º
¡¡¡¡VSAL1£º=50000£»
¡¡¡¡VSQL2£º=60000£»
¡¡¡¡VCOMMSAL BOOLEAN£º=(VSAL1<VSQL2)£»
¡¡¡¡--ÆäʵÊÇ°ÑTRUE¸³Öµ¸ø´Ë±äÁ¿¡£
¡¡¡¡Îå¡¢LOB ÀàÐ͵ıäÁ¿
¡¡¡¡¹²ÓÐCLOB¡¢BLOB¡¢BFILE¡¢NCLOB¼¸ÖÖ£¬ÕâÀï²»×öΪÖص㡣
¡¡¡¡Áù£ºÊ¹ÓÃHOST VARIABLES
¡¡¡¡SQL> variable n number
¡¡¡¡SQL> print n
¡¡¡¡£ºn=v_sal /12;
¡¡¡¡:nÕâ¸ö¼ÓÁË£ºÇ°×ºµÄ±äÁ¿²»ÊÇPLSQL±äÁ¿£¬¶øÊÇHOST¡£
¡¡¡¡Æß¡¢ÒÔϼ¸¸öPLSQLÉùÃ÷±äÁ¿£¬Äĸö²»ºÏ·¨£¿
¡¡¡¡A ¡¢DECLARE
¡¡¡¡V_ID NUMBER(4)£»
¡¡¡¡B¡¢DECLARE
¡¡¡¡V_X£¬V_Y£¬V_Z VARCHAR2(9)£»
¡¡¡¡C¡¢DECLARE
¡¡¡¡V_BIRTH DATE NOT NULL£»
¡¡¡¡D¡¢DECLARE
¡¡¡¡V_IN_STOCK¡¡BOOLEAN£º=1£»
¡¡¡¡E¡¢DECLARE
¡¡¡¡TYPE NAME_TAB IS TABLE OF VARCHAR2(20)
¡¡¡¡IND
Ïà¹ØÎĵµ£º
¿Î³Ì Ò» PL/SQL »ù±¾²éѯÓëÅÅÐò
¡¡¡¡
¡¡¡¡±¾¿ÎÖص㣺
¡¡¡¡
¡¡¡¡1¡¢Ð´SELECTÓï¾ä½øÐÐÊý¾Ý¿â²éѯ
¡¡¡¡
¡¡¡¡2¡¢½øÐÐÊýѧÔËËã
¡¡¡¡
¡¡¡¡3¡¢´¦Àí¿ÕÖµ
¡¡¡¡
¡¡¡¡4¡¢Ê¹ÓñðÃûALIASES
¡¡¡¡
¡¡¡¡5¡¢Á¬½ÓÁÐ
¡¡¡¡
¡¡¡¡6¡¢ÔÚSQL PLUSÖб༻º³å£¬ÐÞ¸ÄSQL SCRIPTS
¡¡¡¡
¡¡¡¡7¡¢ORDER BY½øÐÐÅÅÐòÊä³ö¡£
¡¡¡¡
¡¡¡¡8¡¢Ê¹Ó ......
¡¡¿Î³Ì ¶þ PL/SQL ²éѯÐк¯Êý
¡¡¡¡
¡¡¡¡±¾¿ÎÖص㣺
¡¡¡¡1¡¢ÕÆÎÕ¸÷ÖÖÔÚPL/SQLÖпÉÓõÄROWº¯Êý
¡¡¡¡
¡¡¡¡2¡¢Ê¹ÓÃÕâЩº¯ÊýµÄ»ù±¾¸ÅÄî
¡¡¡¡
¡¡¡¡3¡¢SELECTÓï¾äÖÐʹÓú¯Êý
¡¡¡¡
¡¡¡¡4¡¢Ê¹ÓÃת»»º¯Êý
¡¡¡¡
¡¡¡¡×¢Ò⣺ÒÔÏÂʵÀýÖбêµã¾ùΪӢÎÄ°ë½Ç
¡¡¡¡
¡¡¡¡Ò»¡¢FUNCTIONµÄ×÷Óãº
¡¡¡¡
¡¡¡¡½øÐÐÊý¾Ý¼ÆË㣬ÐÞ¸Ä ......
¿Î³ÌËÄ ×麯Êý
¡¡¡¡
¡¡¡¡±¾¿ÎÖص㣺
¡¡¡¡1¡¢Á˽â¿ÉÓõÄ×麯Êý
¡¡¡¡2¡¢ËµÃ÷ÿ¸ö×麯ÊýµÄʹÓ÷½·¨
¡¡¡¡3¡¢Ê¹ÓÃGROUP BY
¡¡¡¡4¡¢Í¨¹ýHAVINGÀ´ÏÞÖÆ·µ»Ø×é
¡¡¡¡×¢Ò⣺ÒÔÏÂʵÀýÖбêµã¾ùΪӢÎÄ°ë½Ç
¡¡¡¡Ò»¡¢¸ÅÄ
¡¡¡¡×麯ÊýÊÇÖ¸°´Ã¿×é·µ»Ø½á¹ûµÄº¯Êý¡£
¡¡¡¡×麯Êý¿ÉÒÔ³öÏÖÔÚSELECTºÍHAVING ×Ö¶ÎÖС£
¡¡¡¡GROUP ......
¡¡¿Î³ÌÎå ×Ó²éѯ
¡¡¡¡
¡¡¡¡±¾¿ÎÖص㣺
¡¡¡¡1¡¢ÔÚÌõ¼þδ֪µÄÇé¿öϲÉÓÃǶÌ××Ó²éѯ
¡¡¡¡2¡¢ÓÃ×Ó²éѯ×öÊý¾Ý´¦Àí
¡¡¡¡3¡¢×Ó²éѯÅÅÐò
¡¡¡¡
¡¡¡¡×¢Ò⣺ÒÔÏÂʵÀýÖбêµã¾ùΪӢÎÄ°ë½Ç
¡¡¡¡
¡¡¡¡Ò»¡¢¸ÅÊö£º
¡¡¡¡×Ó²éѯÊÇÒ»ÖÖSELECT¾äʽÖеĸ߼¶ÌØÐÔ£¬¾ÍÊÇÒ»¸öSELECTÓï¾ä×÷ΪÁíÒ»¸öÓï¾äµÄÒ»¸ö¶Î¡£ÎÒÃÇ¿ÉÒÔÀûÓÃ×Ó²éѯÀ´ ......
¡¡¿Î³ÌÆß ÆäËûÊý¾Ý¿â¶ÔÏó
¡¡¡¡
¡¡¡¡SEQUENCE
¡¡¡¡
¡¡¡¡´´½¨ÊµÀý£º
¡¡¡¡
¡¡¡¡SQL> CREATE SEQUENCE s_dept_id
¡¡¡¡
¡¡¡¡2 INCREMENT BY 1
¡¡¡¡
¡¡¡¡3 START WITH 51
¡¡¡¡
¡¡¡¡4 MAXVALUE 9999999
¡¡¡¡
¡¡¡¡5 NOCACHE
¡¡¡¡
¡¡¡¡6 NOCYCLE;
¡¡¡¡
¡¡¡¡Sequence created.
¡¡¡¡
¡¡¡¡1¡¢NEXTVALºÍCURRVALµÄ ......