• PL/SQL 听课笔记


    PL/SQL:

     知识回顾:  

     

      SQL:  结构化查询语言;  

      T-SQL:  microsoft sql语言;  

      PL/SQL: Oracle sql语言;    

      变量命名规则:   

        1.首字母必须是字母,可以包含字母,下划线,$,#,数字   

        2.字符长度在30内   

        3.不能为关键字,保留字  

      命名规范:   

        1.见名知意;       见书hibernate   p78;   

        2.普通变量: v_变量名      

        3.游标变量: cursor_变量名;   

        4.参数变量:p_变量名;

       数据类型:   

        标量类型    

           timestamp:时间戳  比date更精确:精确到毫秒   lob类型         

        属性类型    表名.列名%type    

       变量赋值:  

         硬编码:变量名:=值   

        查询赋值:  select 列名         into 变量名     from 表名     where 条件

       begin  end中可以包含:   

        DML:数据操作语言  >>del,insert,update      

        不能写在begin end中:使用动态SQL:excute immediate (SQL);   

         DDL:数据定义语言   >>create,drop,alter,truncate    

        DCL:数据控制语言   >>grant,revoke       

         DQL:数据查询语言   >>select    解决办法:游标; 

       控制语句:   

        if 布尔表达式     

         循环:    loop     [exit 退出循环]    end loop;

           for loop         end loop;

       游标:   

        声明: cursor cursor_表名    is    select * from 表名    --定义变量    表名%rowtype;    

        》打开:begin     open 游标名;     end;   

        》提取:fetch 游标名 into   

        》关闭:close 游标名;

         for循环会隐式声名 记录类型 rowtype的循环变量   游标查询语句必须查询所有列(select *)   自动打开,提取关闭游标

         for v_row in (查询select) loop    v_row.列;   end loop;

        java中调用存储过程:   

         CallableStatement  call=con.prepareCall("{call 存储名([参数1,参数2])}");   

         // 填坑   

         call.set....   

         //注册输出参数类型   

         call.registerOutParameter(2,OracleTypes.CURSOR);   

         //获取输出值  

          call.execute();  

          //获取输出值   

         ResultSet rs=(ResultSet)call.getObject(2);

  • 相关阅读:
    shell去重
    JDBC源码解析
    try catch finally
    URL
    域名与IP地址的联系与区别
    C++stack
    C++vector
    单链表常见面试题(C语言实现)
    数据库limit子句
    strcpy和memcpy的区别
  • 原文地址:https://www.cnblogs.com/gcs1995/p/4102961.html
Copyright © 2020-2023  润新知