小布老师-PL_SQL(第四讲)

来源:互联网 发布:品牌网络推广计划书 编辑:程序博客网 时间:2024/05/07 07:16

一、PL_SQL  sql 注释 方式有两种

       1.单行注释(--)

        2.多行注释(/*   */)

二、Sql Function  in PL_SQL

         1.Available   in  procedural statements;

             - Single-row  functions

          2.Not availble  in procedural statements;

             -DECODE

             --------decode(V1,1,A,2,B,C)
                        如果V1=1 那么显示A  =2显示B  其他显示C 。。。。。。。。
                        或者说返回的值 ABC

             -Group functions  (  例如length('sssss'),months_between(data1,data2)   );

三、Sequences

         1.declare

                    v_new_id  number;

             begin

                     v_new_id := my_sql.NEXTVAL;

             END;

          2.DECLARE

                        V_NEW_ID NUMBER;

               BEGIN

                        SELECT MY_SQL.NEXTVAL       INTO  V_NEW_ID FROM DUAL;

              END;

            说明:例子1用于在11g   例子2 用于在11g以前的oracle版本中DUAL表为哑表

四、PL_SQL中的数据类型的转换

           1.Converts data to comparable data types

            2.Is of  two  types;

                 --- Implicit   conversion   (隐式转换)

                ---- Explicit   conversion  (显示转换)

            3. TO_CHAR,   TO_DATE ,  TO_NUMBER  , TO_TIMESTEMP

            4.例子:隐式转换   v_date_of_joining Date := '02-Feb-2000';

               Declare

                           a_number   number;

                begin

                           a_number := '124';

                           a_nubmer := a_number +3;

                            dbms_output.put_line(to_char(a_number,'9999'));

                end;

五、嵌入块

     1.declare

                   ....................

         begin

                  .......................

                   declare

                   begin

                  end;

            exception 

                     ..................

            end;

           2.DECLARE

                      V_OUTER_VARIABLE VARCHAR(20) := 'GLOBAL VARIABLE';

                 BEGIN

                        DECLARE

                                  V_INNER_VARIABLE VARCHAR(20) := 'LOCAL VARIABLE';

                        BEGIN

                                  DBMS_OUTPUT.PUT_LINE(V_INNER_VARIABLE);

                                  DBMS_OUTPUT.PUT_LINE(V_OUTER_VARIABLE);

                         END;

                        DBMS_OUTPUT.PUT_LINE(V_OUTER_VARIABLE);

                 END;

 
0 0