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 SERVER Êý¾Ý¿âʵÓÃSQLÓï¾ä¡¿
1.°´ÐÕÊϱʻÅÅÐò:
Select * from TableName Order By CustomerName Collate Chinese_PRC_Stroke_ci_as
2.·ÖÒ³SQLÓï¾ä
select * from(select (row_number() OVER (ORDER BY tab.ID Desc)) as rownum,tab.* from ±íÃû As tab) As t where rownum between ÆðʼλÖà And ½áÊøÎ»ÖÃ
......
oracle ´æ´¢¹ý³ÌµÄ»ù±¾Óï·¨ ¼°×¢ÒâÊÂÏî
oracle ´æ´¢¹ý³ÌµÄ»ù±¾Óï·¨
1.»ù±¾½á¹¹
CREATE OR REPLACE PROCEDURE ´æ´¢¹ý³ÌÃû×Ö
(
²ÎÊý1 IN NUMBER,
²ÎÊý2 IN NUMBER
) IS
±äÁ¿1 INTEGER :=0;
±äÁ¿2 DATE;
BEGIN
END ´æ´¢¹ý³ÌÃû×Ö
2.SELECT INTO STATEMENT
½«selec ......
×òÌìϰà֮ǰÔÚ³ÌÐòÖÐÓöµ½ÁËÒ»¸öʹÓÃnvlµÄsqlÓï¾ä£¬ÏàÐÅÕâ¸öº¯Êý´ó¼Ò¶¼Ó¦¸ÃʹÓùý£¬²¢ÇÒÓ¦¸ÃÊǺܼòµ¥µÄ¡£
ÒòΪ֮ǰ×öµÄÊý¾Ý¿âÒÆÖ²Ê±Óöµ½¹ýÕâ¸öÎÊÌ⣬ËùÒÔ½ñÌìÄÃÀ´ÔÚÕâÀï¼ÇÔØÒ»Ï¡£
ÆäÖÐÓÐÒ»¶ÎwhereÌõ¼þÊÇÕâÑùµÄ£º
and ((nvl('', ' ') <> ' ' and a.benifitvchno like '%%') or
&nb ......
¿Î³Ì Ò» PL/SQL »ù±¾²éѯÓëÅÅÐò
¡¡¡¡
¡¡¡¡±¾¿ÎÖØµã£º
¡¡¡¡
¡¡¡¡1¡¢Ð´SELECTÓï¾ä½øÐÐÊý¾Ý¿â²éѯ
¡¡¡¡
¡¡¡¡2¡¢½øÐÐÊýѧÔËËã
¡¡¡¡
¡¡¡¡3¡¢´¦Àí¿ÕÖµ
¡¡¡¡
¡¡¡¡4¡¢Ê¹ÓñðÃûALIASES
¡¡¡¡
¡¡¡¡5¡¢Á¬½ÓÁÐ
¡¡¡¡
¡¡¡¡6¡¢ÔÚSQL PLUSÖб༻º³å£¬ÐÞ¸ÄSQL SCRIPTS
¡¡¡¡
¡¡¡¡7¡¢ORDER BY½øÐÐÅÅÐòÊä³ö¡£
¡¡¡¡
¡¡¡¡8¡¢Ê¹Ó ......
¿Î³ÌËÄ ×麯Êý
¡¡¡¡
¡¡¡¡±¾¿ÎÖØµã£º
¡¡¡¡1¡¢Á˽â¿ÉÓõÄ×麯Êý
¡¡¡¡2¡¢ËµÃ÷ÿ¸ö×麯ÊýµÄʹÓ÷½·¨
¡¡¡¡3¡¢Ê¹ÓÃGROUP BY
¡¡¡¡4¡¢Í¨¹ýHAVINGÀ´ÏÞÖÆ·µ»Ø×é
¡¡¡¡×¢Ò⣺ÒÔÏÂʵÀýÖбêµã¾ùΪӢÎİë½Ç
¡¡¡¡Ò»¡¢¸ÅÄ
¡¡¡¡×麯ÊýÊÇÖ¸°´Ã¿×é·µ»Ø½á¹ûµÄº¯Êý¡£
¡¡¡¡×麯Êý¿ÉÒÔ³öÏÖÔÚSELECTºÍHAVING ×Ö¶ÎÖС£
¡¡¡¡GROUP ......