Oracle ѧϰ£ºPL/SQLÑÐò½¥½øÈ«ÃæÑ§Ï°½Ì³Ì
¿Î³ÌÊ®¶þ ±àд¿ØÖƽṹÓï¾ä
¡¡¡¡
¡¡¡¡±¾¿ÎÖØµã£º
¡¡¡¡1¡¢½á¹¹¿ØÖƵĵÄÓÃ;ºÍÀàÐÍ
¡¡¡¡2¡¢IF ½á¹¹
¡¡¡¡3¡¢¹¹ÔìºÍ±êʶ²»Í¬µÄÑ»·
¡¡¡¡4¡¢Ê¹ÓÃÂß¼±í
¡¡¡¡5¡¢¿ØÖÆÁ÷ºÍǶÌ×
¡¡¡¡
¡¡¡¡×¢Ò⣺ÒÔÏÂʵÀýÖбêµã¾ùΪӢÎİë½Ç
¡¡¡¡
¡¡¡¡Ò»¡¢¿ØÖÆÖ´ÐÐÁ÷
¡¡¡¡¿ÉÒÔÊÇ·ÖÖ§ºÍÑ»·£ºIF THEN END IF
¡¡¡¡IF condition THEN
¡¡¡¡statements;
¡¡¡¡[ELSIF condition THEN
¡¡¡¡statements;]
¡¡¡¡[ELSE
¡¡¡¡statements;]
¡¡¡¡END IF;
¡¡¡¡Àý×Ó£ºIF V_ENAME='OSBORNE' THEN
¡¡¡¡V_MGR:=22;
¡¡¡¡END IF;
¡¡¡¡ÕâÀïÎÒÃÇ¿ÉÒÔ×¢Ò⣬PLSQLºÍCÓïÑÔ»òJAVAÔÚÌõ¼þÉϵIJ»Í¬£¬=´ú±í¹ØÏµÔËË㣬¶ø£º=´ú±í¸³Öµ¡£
¡¡¡¡¿´Ò»¸öº¯Êý£º
¡¡¡¡create¡¡¡¡FUNCTION calc_val
¡¡¡¡(v_start IN NUMBER)
¡¡¡¡RETURN NUMBER
¡¡¡¡IS
¡¡¡¡BEGIN
¡¡¡¡IF v_start > 100 THEN
¡¡¡¡RETURN (2 * v_start);
¡¡¡¡ELSIF v_start >= 50 THEN
¡¡¡¡RETURN (.5 * v_start);
¡¡¡¡ELSE
¡¡¡¡RETURN (.1 * v_start);
¡¡¡¡END IF;
¡¡¡¡END calc_val;
¡¡¡¡ÏÖÔÚ£¬ËäÈ»ÎÒÃÇÉÐδ½²½âCREATE º¯Êý»ò¹ý³Ì£¬µ«¿ÉÒÔ¿´µ½IF Ìõ¼þÔÚÆäÖеÄ×÷Óá£
¡¡¡¡¶þ¡¢×¢ÒâLOGIC TABLEÖеÄÂß¼¶ÔÓ¦¹ØÏµ
¡¡¡¡1¡¢NOT¡¢AND¡¢OR
¡¡¡¡2¡¢Èκαí´ïʽÖк¬ÓпÕÖµ½á¹û¶¼Îª NULL
¡¡¡¡3¡¢Á¬½Ó×Ö·û´®Öк¬ÓпÕÖµ»á°ÑNULL×÷Ϊ EMPTY STRING
¡¡¡¡declare
¡¡¡¡v_deptno dept.deptno%type;
¡¡¡¡v_loc dept.loc%type;
¡¡¡¡V_FLAG BOOLEAN ;
¡¡¡¡V_REC BOOLEAN :=FALSE; --´ËÖµ¸ÄΪTRUE¡¢NULL¡¢FALSE½øÐв»Í¬µÄ±È½Ï
¡¡¡¡V_AVA BOOLEAN:=NULL;
¡¡¡¡begin
¡¡¡¡V_FLAG:=V_REC AND V_AVA;
¡¡¡¡IF V_FLAG=TRUE THEN
¡¡¡¡DBMS_OUTPUT.PUT_LINE ('TRUE');
¡¡¡¡ELSIF V_FLAG=FALSE THEN
¡¡¡¡DBMS_OUTPUT.PUT_LINE ('FALSE');
¡¡¡¡ELSE
¡¡¡¡DBMS_OUTPUT.PUT_LINE ('NULL');
¡¡¡¡END IF;
¡¡¡¡end;
¡¡¡¡/
¡¡¡¡ÖµµÃ×¢ÒâµÄÊÇ£ºNULL AND FALSE ---> FALSE
¡¡¡¡ÕâÊÇÔÚʵ¼ùÖÐ×ܽá³öÀ´µÄ¡£
¡¡¡¡Èý¡¢»ù±¾Ñ»·»ù´¡£º
¡¡¡¡1¡¢LOOP
¡¡¡¡statement1;
¡¡¡¡statement2;
¡¡¡¡. . .
¡¡¡¡EXIT [WHEN condition];
¡¡¡¡END LOOP;
¡¡¡¡v_ord_id s_item.ord_id%TYPE := 101;
¡¡¡¡v_counter NUMBER (2) := 1;
¡¡¡¡BEGIN
¡¡¡¡. . .
¡¡¡¡LOOP
¡¡¡¡INSERT INTO s_item (ord_id, item_id)
¡¡¡¡VALUES (v_ord_id, v_counter);
¡¡¡¡v_counter := v_counter + 1;
¡¡¡¡EXIT WHEN v_counter > 10;
¡¡¡¡END LOOP;
¡¡
Ïà¹ØÎĵµ£º
error£º40´íÎó ÔÒòÊÇÒòΪ SQL Server2005 ĬÈϵÄÉèÖÃΪ²»ÔÊÐíÔ¶³ÌÁ¬½Ó£¬¾Í»áµ¼Ö´Ëʧ°Ü¡£ Ìáʾ£ºprovider£ºÃüÃû¹ÜµÀÌṩ³ÌÐò£¬ error£º40-ÎÞ·¨´ò¿ªµ½ SQL Server µÄÁ¬½Ó)¡£ÊµÀý£¨Ä¬ÈÏÊÇ¡°SQLEXPRESS¡± ·½·¨£º A:¿ªÊ¼->ÅäÖù¤¾ß->SQL Server ÍâΧӦÓÃÅäÖÃÆ÷->·þÎñºÍÁ¬½ÓÍâΧӦÓÃÅäÖÃÆ÷ B:Ñ¡database EngineµÄ¡ ......
¡¡¿Î³ÌÎå ×Ó²éѯ
¡¡¡¡
¡¡¡¡±¾¿ÎÖØµã£º
¡¡¡¡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µÄ ......
¿Î³Ì°Ë Óû§·ÃÎÊ¿ØÖÆ
¡¡¡¡
¡¡¡¡±¾¿ÎÖØµã£º
¡¡¡¡1¡¢´´½¨Óû§
¡¡¡¡2¡¢´´½¨½ÇÉ«À´½øÐа²È«ÉèÖÃ
¡¡¡¡3¡¢Ê¹ÓÃGRANT»òREVOKE À´¿ØÖÆÈ¨ÏÞ
¡¡¡¡
¡¡¡¡×¢Ò⣺ÒÔÏÂʵÀýÖбêµã¾ùΪӢÎİë½Ç
¡¡¡¡
¡¡¡¡Ò»¡¢¸ÅÊö£º
¡¡¡¡ORACLEͨ¹ýÓû§ÃûºÍÃÜÂë½øÐÐȨÏÞ¿ØÖÆ¡£
¡¡¡¡Êý¾Ý¿â°²È«£ºÏµÍ³°²È«ºÍÊý¾Ý°²È«
¡¡¡¡ÏµÍ³È¨ÏÞ£ºÊ¹Óû§¿É ......
¸Õ¸Õ¸ßÖеÄһλͬѧÎÊÎÒÒ»µÀ±ÊÊÔÌ⣺Çë¼òÊöSQL×¢Èëʽ¹¥»÷¼°ÆäÔÀí¡£
£¨Q£º¹¥»÷£¿ÄѵÀÊÇ×öºÚ¿ÉÂ𣿣¿£©
¿ÉÒÔ°ÑÕâÖÖÐÐΪÀí½â³ÉºÚ¿ÍÐо¶£¬ÒòΪÕâÑù×öµÄÄ¿µÄ¾ÍÊÇ¡°·Ç·¨»ñÈ¡¡±¡£
£¨Q£ºÔõô×ö£¿£©
¿ÉÒÔ°´ÕÕÎÒÏÂÃæµÄ²½ÖèÒ»²½Ò»²½À´£¬´ó¼ÒÒ²¾Íµ±Ò»»Ø¡°ºÚ¿Í¡±ÁË¡££¨P.S. Õâ¿ÉÊÇÎÒ¡°¶À¼ÒÑÐÖÆ¡± ......