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
Ïà¹ØÎĵµ£º
ÔÚ´æ´¢¹ý³ÌÖо³£ÐèÒªÖ´ÐгÌÐò×é³ÉµÄSQLÓï¾ä£¬¿ÉÒÔʹÓÃexec(@sql),
Ò²¿ÉÒÔʹÓÃexec sp_executesql @sql¡£µ«Ê¹ÓÃsp_executesqlÒªÓÅÓÚexec£¬½¨ÒéʹÓà sp_executesql ¶ø²»ÒªÊ¹Óà EXECUTE Óï¾äÖ´ÐÐ×Ö·û´®¡£Ö§³Ö²ÎÊýÌæ»»²»½öʹ sp_executesql ±È EXECUTE ¸üͨÓ㬶øÇÒ »¹Ê¹ sp_executesql ¸üÓÐЧ£ ......
¿Î³Ì Ò» PL/SQL »ù±¾²éѯÓëÅÅÐò
¡¡¡¡
¡¡¡¡±¾¿ÎÖØµã£º
¡¡¡¡
¡¡¡¡1¡¢Ð´SELECTÓï¾ä½øÐÐÊý¾Ý¿â²éѯ
¡¡¡¡
¡¡¡¡2¡¢½øÐÐÊýѧÔËËã
¡¡¡¡
¡¡¡¡3¡¢´¦Àí¿ÕÖµ
¡¡¡¡
¡¡¡¡4¡¢Ê¹ÓñðÃûALIASES
¡¡¡¡
¡¡¡¡5¡¢Á¬½ÓÁÐ
¡¡¡¡
¡¡¡¡6¡¢ÔÚSQL PLUSÖб༻º³å£¬ÐÞ¸ÄSQL SCRIPTS
¡¡¡¡
¡¡¡¡7¡¢ORDER BY½øÐÐÅÅÐòÊä³ö¡£
¡¡¡¡
¡¡¡¡8¡¢Ê¹Ó ......
¿Î³ÌÈý ´Ó¶à¸ö±íÖÐÌáÈ¡Êý¾Ý
¡¡¡¡
¡¡¡¡±¾¿ÎÖØµã£º
¡¡¡¡1¡¢SELECT from ¶à¸ö±í£¬Ê¹ÓõÈÁ¬½Ó»ò·ÇµÈÁ¬½Ó
¡¡¡¡2¡¢Ê¹ÓÃÍâÁ¬½ÓOUTER JOIN
¡¡¡¡3¡¢Ê¹ÓÃ×ÔÁ¬½Ó
¡¡¡¡×¢Ò⣺ÒÔÏÂʵÀýÖбêµã¾ùΪӢÎİë½Ç
¡¡¡¡Ò»¡¢Á¬½ÓµÄ¸ÅÄ
¡¡¡¡
¡¡¡¡ÊÇÖ¸Ò»¸ö´Ó¶à¸ö±íÖеÄÊý¾Ý½øÐеIJéѯ¡£Á¬½ÓÒ»°ãʹÓñíµÄÖ÷¼üºÍÍâ¼ü¡£
¡¡¡¡Á¬½ÓÀàÐÍ£º
¡¡ ......
¡¡¿Î³ÌÆß ÆäËûÊý¾Ý¿â¶ÔÏó
¡¡¡¡
¡¡¡¡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µÄ ......
¿Î³Ì°Ë Óû§·ÃÎÊ¿ØÖÆ
¡¡¡¡
¡¡¡¡±¾¿ÎÖØµã£º
¡¡¡¡1¡¢´´½¨Óû§
¡¡¡¡2¡¢´´½¨½ÇÉ«À´½øÐа²È«ÉèÖÃ
¡¡¡¡3¡¢Ê¹ÓÃGRANT»òREVOKE À´¿ØÖÆÈ¨ÏÞ
¡¡¡¡
¡¡¡¡×¢Ò⣺ÒÔÏÂʵÀýÖбêµã¾ùΪӢÎİë½Ç
¡¡¡¡
¡¡¡¡Ò»¡¢¸ÅÊö£º
¡¡¡¡ORACLEͨ¹ýÓû§ÃûºÍÃÜÂë½øÐÐȨÏÞ¿ØÖÆ¡£
¡¡¡¡Êý¾Ý¿â°²È«£ºÏµÍ³°²È«ºÍÊý¾Ý°²È«
¡¡¡¡ÏµÍ³È¨ÏÞ£ºÊ¹Óû§¿É ......