转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 数据库 >> ORACLE >> 正文
PL/Sql循序渐进全面学习教程--Oracle         ★★★★

PL/Sql循序渐进全面学习教程--Oracle

作者:闵涛 文章来源:闵涛的学习笔记 点击数:4218 更新时间:2009/4/22 22:04:46
DROP SYNONYM D_SUM; 


      课程 八 用户访问控制
                                  
本课重点:
   1、创建用户
   2、创建角色来进行安全设置
   3、使用GRANT或REVOKE 来控制权限
   
   注意:以下实例中标点均为英文半角
  
   一、概述:
       ORACLE通过用户名和密码进行权限控制。
     数据库安全:系统安全和数据安全
     系统权限:使用户可以访问数据库
     对象权限:操纵数据库中的对象
     SCHEMA:各种对象的集合
   二、系统权限:
      1、超过80个权限可用。
      2、DBA有最高的系统权限:
               CREATE NEW USER
               REMOVE USERS
               REMOVE ANY TABLE
               BACKUP ANY TABLE
   三、创建用户
      1、CREATE USER user IDENTIFIED BY password;
      2、系统权限:CREATE SESSION Connect to the database.
                    CREATE TABLE Create tables in the user’s schema.
                   CREATE SEQUENCE Create a sequence in the user’s schema.
                   CREATE VIEW Create a view in the user’s schema.
                   CREATE PROCEDURE Create a stored procedure, function, or package in
                   the user’s schema. 
      3、授权用户系统权限:
        GRANT privilege [, privilege...] TO user [, user...];
        GRANT CREATE TABLE TO SCOTT;
   四、角色的使用
     1、概念:角色是一组权限的命名,可以授予给用户。这样就如同给了某个用户一个权限包。
     2、创建、授予给角色:
        CREATE ROLE MANAGER;
        GRANT CREATE TABLE,CREATE VIEW TO MANAGER;
        GRANT MANAGER TO CLARK
   五、修改密码:
      ALTER USER user IDENTIFIED BY password;
   六、对象权限:
     1、语句:
 GRANT {object_priv(, object_priv...)|ALL}[(columns)]
ON object
TO {user[, user...]|role|PUBLIC}
[WITH GRANT OPTION];
     2、实例:
    最简单:
    SQL> GRANT select
2 ON s_emp
3 TO sue, rich;
    稍复杂:
     SQL> GRANT update (name, region_id)
      2 ON s_dept
      3 TO scott, manager;
  SQL> GRANT select, insert
2 ON s_dept
3 TO scott
4 WITH GRANT OPTION; 

     课程 九 声明变量
                                  
本课重点:
   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的属性
       声明一个变量使之与数据库某个列的定义相同或与另一个已经定义过的变量相同
       所以%TYPE要作为列名的后缀:如:
      v_last_name s_emp.last_name%TYPE;
       v_first_name s_emp.first_name%TYPE; --这样做的好处是我们不必去知晓此列的类型与定义
       或: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)
            INDEX BY BINARY_INTEGER;
        DEPT_NAME NAME_TAB;
    上面的习题我会在下章给出答案,这也正是声明变量的规则和难点。
  


课程 十 写执行语句
                                  
本课重点:
   1、了解PLSQL执行区间的重要性
   2、写执行语句
   3、描述嵌套块的规则
   4、执行且测试PLSQL块
   5、使用代码惯例
   
   注意:以下实例中标点均为英文半角
  
   一、PLSQL 块的语法规则:
     1、语句可以跨跃几行。
     2、词汇单元可以包括:分隔符、标识符、文字、和注释内容。
     3、分隔符:
      +-*/=<>||....
     4、标识符:
      最多30个字符,不能有保留字除非用双引号引起。
      字母开头,不与列同名。
     5、文字串:如 V_ENAME:=''''FANCY'''';要用单引号括起来。
        数值型可以用简单记数和科学记数法。
     6、注释内容:单行时用--    多行用/*   */
        与C很相似
   二、SQL函数在PL/SQL的使用:
     1、可用的:
      单行数值型、字符型和转换型,日期型。
     2、不可用的:
      最大、最小、DECODE、分组函数。
      实例:
      BEGIN
         SELECT TO_CHAR(HIREDATE,''''MON,DD,YYYY'''') FROM EMP;
      END;
      V_comment:=user||'''':''''||sysdate; -- 会编译出错
      V_comment:=user||'''':''''||to_char(sysdate); --正确
      如果有可能,PLSQL都会进行数据一致性的转换,但ORACLE推荐你应该进行显示的转换,因为这样会提高性能。
   三、嵌套块和变量作用区域
     1、执行语句允许嵌套时嵌套。
     2、嵌套块可以看作正常的语句块。
     3、错误处理模块可以包括一个嵌套块
      4、exponential指数 逻辑、算数、连接、小括号
     5、看正面实例:
   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;
ttt vtotal%type;
begin
--select sysdate into vtotal from dual;--体会有无此句与结果的影响

上一页  [1] [2] [3] [4] [5] [6] [7] [8]  下一页


[学习帮助]为什么学习那么的令人害怕呢.?  [精彩网文]直面高三
[精彩网文]学习成功=100%的学习意愿+100%的切实行动  [办公软件]学习PowerPoint心得体会
[网络安全]菜鸟学习—认识无线网络安全技术规范  [Web开发]如何学习Asp.net九步曲—菜鸟导读
[Web开发]最简单的AJAX 无刷新学习例子(示例,包含代码和完…  [Web开发]推荐学习的与NET相关的⑩项技术
[平面设计]Flash动画学习心得体会  [平面设计]学习Flash动画制作技巧、帧的理论知识尤为重要
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · Sql Server  · MySql
    · Access  · ORACLE
    · SyBase  · 其他
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台