Oracle ѧϰ£ºPL/SQLÑÐò½¥½øÈ«ÃæÑ§Ï°½Ì³Ì
¿Î³Ìʮһ ÓëORACLE SERVER½»»¥
¡¡¡¡
¡¡¡¡±¾¿ÎÖØµã£º
¡¡¡¡1¡¢ÔÚPLSQLÖгɹ¦µÄдSELECTÓï¾ä
¡¡¡¡2¡¢¶¯Ì¬ÉùÃ÷PLSQL±äÁ¿ÀàÐÍÓëSIZE
¡¡¡¡3¡¢ÔÚPLSQLÖÐдDMLÓï¾ä
¡¡¡¡4¡¢ÔÚPLSQLÖпØÖÆÊÂÎñ
¡¡¡¡5¡¢È·¶¨DML²Ù×÷µÄ½á¹û
¡¡¡¡
¡¡¡¡×¢Ò⣺ÒÔÏÂʵÀýÖбêµã¾ùΪӢÎİë½Ç
¡¡¡¡
¡¡¡¡Ò»¡¢PLSQLÖеÄSQLÓï¾ä£º
¡¡¡¡SELECT¡¢DML¡¢COMMIT¡¢ROLLBACK¡¢SAVEPOINT¡¢CURSOR
¡¡¡¡ÌØÊâÇ¿µ÷£ºPLSQL²»Ö§³ÖDCL£¬²»ÒªÎÊΪʲô¡£(DBMS_SQL package allows you to issue DDL and DCL
statements.)
¡¡¡¡¶þ¡¢SELECT
¡¡¡¡SELECT select_list
¡¡¡¡INTO variable_name | record_name
¡¡¡¡from table
¡¡¡¡WHERE condition;
¡¡¡¡Àý£º
¡¡¡¡SQL> r
¡¡¡¡1¡¡declare
¡¡¡¡2¡¡v_deptno number(2);
¡¡¡¡3¡¡v_loc varchar2(15);
¡¡¡¡4¡¡begin
¡¡¡¡5¡¡¡¡ select deptno,loc
¡¡¡¡6¡¡¡¡¡¡ into v_deptno,v_loc
¡¡¡¡7¡¡¡¡¡¡from dept
¡¡¡¡8¡¡¡¡¡¡where dname='SALES';
¡¡¡¡9¡¡DBMS_OUTPUT.PUT_LINE (V_deptno ||' and '||v_loc);
¡¡¡¡10* end;
¡¡¡¡30 and CHICAGO
¡¡¡¡Ñ¡È¡×Ö¶ÎÓë±äÁ¿¸öÊýºÍÀàÐÍÒªÒ»Ö¡£ÉùÃ÷µÄ±äÁ¿Ò»¶¨ÒªÔÚSIZEÉÏ´óÓÚ·µ»ØµÄ¸³Öµ£¬·ñÔòÌáʾ»º³åÇøÒç³ö¡£
¡¡¡¡Èç¹ûSELECTÓï¾äûÓзµ»ØÖµ£ºORA-01403: δÕÒµ½Êý¾Ý
¡¡¡¡ORA-06512: ÔÚline 5
¡¡¡¡Èç¹ûÓжà¸öÖµ·µ»Ø£ºORA-01422: ʵ¼Ê·µ»ØµÄÐÐÊý³¬³öÇëÇóµÄÐÐÊý
¡¡¡¡ÕâЩÎÒÃǵ½ÁË´íÎó´¦Àíʱ»áÖðÒ»½²½â¡£
¡¡¡¡Àý£º
¡¡¡¡ÉÏÃæµÄÀý×Ó¿ÉÒÔ¸ÄΪ£º
¡¡¡¡declare
¡¡¡¡v_deptno dept.deptno%type;
¡¡¡¡v_loc dept.loc%type;
¡¡¡¡begin
¡¡¡¡select deptno,loc
¡¡¡¡into v_deptno,v_loc
¡¡¡¡from dept
¡¡¡¡where dname='SALES';
¡¡¡¡DBMS_OUTPUT.PUT_LINE (V_deptno ||' and '||v_loc);
¡¡¡¡end;
¡¡¡¡/
¡¡¡¡ÕâÑù£¬¿ÉÒÔÔÚδ֪ÆäËû×ֶδóСºÍÀàÐ͵Äʱºò¶¨Òå±äÁ¿£¬Ìá¸ß¼æÈÝÐÔ¡£
¡¡¡¡Èý¡¢DML ²Ù×÷£º
¡¡¡¡1¡¢ÊµÀý£º
¡¡¡¡declare
¡¡¡¡v_empno emp.empno%type;
¡¡¡¡begin
¡¡¡¡select max(empno)
¡¡¡¡into v_empno
¡¡¡¡from emp;
¡¡¡¡v_empno:=v_empno+1;
¡¡¡¡insert into emp(empno,ename,job,deptno)
¡¡¡¡values(v_empno,'asdfasdf','ddddd',10);
¡¡¡¡end;
¡¡¡¡/
¡¡¡¡ÕâÑùÒ²¿ÉÒÔʵÏÖÈçSEQUENCEÒ»ÑùµÄ±àºÅΨһµÝÔö¡£
¡¡¡¡2¡¢¸üкÍɾ³ý£º
¡¡¡¡Õâ¸ö½ÏΪ¼òµ¥£º
¡¡¡¡DECLARE
¡¡¡¡V_DEPTNO EMP.DEPtno%type :=10;
¡¡¡¡begin
¡¡¡¡delete from emp
¡¡¡¡where deptno=v_deptno;
¡¡¡¡end;
¡¡¡¡/
¡
Ïà¹ØÎĵµ£º
¿Î³Ì Ò» 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µÄ×÷Óãº
¡¡¡¡
¡¡¡¡½øÐÐÊý¾Ý¼ÆË㣬ÐÞ¸Ä ......
¡¡¿Î³ÌÆß ÆäËûÊý¾Ý¿â¶ÔÏó
¡¡¡¡
¡¡¡¡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¡¢Á˽â»ù±¾µÄPLSQL¿éºÍÇøÓò
¡¡¡¡2¡¢ÃèÊö±äÁ¿ÔÚPLSQLÖеÄÖØÒªÐÔ
¡¡¡¡3¡¢Çø±ðPLSQLÓë·ÇPLSQL±äÁ¿
¡¡¡¡4¡¢ÉùÃ÷±äÁ¿
¡¡¡¡5¡¢Ö´ÐÐPLSQL¿é
¡¡¡¡
¡¡¡¡×¢Ò⣺ÒÔÏÂʵÀýÖбêµã¾ùΪӢÎİë½Ç
¡¡¡¡
¡¡¡¡Ò»¡¢¸ÅÊö£º
¡¡¡¡1¡¢PLSQL ¿é½á¹¹£º
¡¡¡¡DECLARE --- ¿ÉÑ¡
¡¡¡¡±äÁ¿Éù ......