zoukankan      html  css  js  c++  java
  • Oracle 数据库的8个学习点

       学习Oracle也有一段日子了,今天看到这篇关于oracle学习的总结还是觉得蛮有用的。遂留下品味品味。

     TableSpace

         表空间: 一个表空间对应多个数据文件(物理的dbf文件) 用语法方式创建     tablespace,用sysdba登陆: --创建表空间mytabs,大小为10MB:

    create tablespace mytabs datafile
                'C:\oracle\oradata\mydb\mytabs1.dbf' size 10M;
                alter user zgl default tablespace mytabs;
                --把tabs做为zgl的默认表空间。
                grant unlimited tablespace to zgl;
                --将操作表空间的权限给zgl。

     Exception
    示例:
    create or replace procedure
                pro_test_exception(vid in varchar2) is
                userName varchar2(30);
                begin
                select name into userName from t_user where id=vid;
                dbms_output.put_line(userName);
                exception
                when no_data_found then
                dbms_output.put_line('没有查到数据!');
                when too_many_rows then
                dbms_output.put_line('返回了多行数据!');
                end pro_test_exception;

     安全管理

        以下语句以sysdba登陆: 用户授权: alter user zgl account lock;--锁定帐号。 alter  user zgl identified by zgl11;--修改用户密码。 alter user zgl account unlock;--解除帐号锁定。 alter user zgl default tablespace tt;--修改用户zgl的默认表空间为tt。 create user qqq identified by qqq123 default tablespace tt;--创建用户。

     grant connect to qqq;--给qqq授予connect权限。 grant execute on zgl.proc01 to test;--将过程zgl.proc01授予用户test。 grant create user to zgl;--给zgl授予创建用户的权限。 revoke create user from zgl;--解除zgl创建用户的权限。

    角色授权: create role myrole;--创建角色myrole grant connect to myrole;--给myrole授予connect权限 grant select on zgl.t_user to myrole;--把查询zgl.t_user的权限授予myrole grant myrole to test;--把角色myrole授予test用户

     概要文件(配置文件): 全局设置,可以在概要文件中设置登陆次数,如超过这次数就锁定用户。

     Synonym

     创建同义词示例:

    create public synonym xxx for myuser.t_user
                create synonym t_user for myuser.t_user
                select * from dba_synonyms where table_name='T_USER'


     跨数据库查询

    create database link dblinkzgl
                connect to myuser identified by a using 'mydb'
                Select * From t_user@dblinkzgl


     course示例
    示例1:

    create or replace procedure pro_test_cursor is
                userRow t_user%rowtype;
                cursor userRows is
                select * from t_user;
                begin
                for userRow in userRows loop
                dbms_output.put_line
                (userRow.Id||','||userRow.Name||','||userRows%rowcount);
                end loop;
                end pro_test_cursor;

    示例2:

    create or replace procedure
                pro_test_cursor_oneRow(vid in number) is
                userRow t_user%rowtype;
                cursor userCur is
                select * from t_user where id=vid;
                begin
                open userCur;
                fetch userCur into userRow;
                if userCur%FOUND then
                dbms_output.put_line
                (userRow.id||','||userRow.Name);
                end if;
                close userCur;
                end pro_test_cursor_oneRow;

     record示例

    create or replace
                procedure pro_test_record(vid in varchar2) is
                type userRow is record(
                id t_user.id%type,
                name t_user.name%type
                );
                realRow userRow;
                begin
                select id,name into
                realRow from t_user where id=vid;
                dbms_output.put_line
                (realRow.id||','||realRow.name);
                end pro_test_record;

     rowtype示例

    create or replace procedure
                pro_test_rowType(vid in varchar2) is
                userRow t_user%Rowtype;
                begin
                select * into userRow from t_user where id=vid;
                dbms_output.put_line
                (userRow.id||','||userRow.name);
                end pro_test_rowType;
  • 相关阅读:
    PHP学习之路(六)
    PHP学习之路(五)
    PHP学习之路(四)
    PHP学习之路(三)
    PHP学习之路(二)
    PHP学习之路(一)
    webstrom运行出现404的解决办法
    适配移动端Swiper的3D旋转木马轮播~
    为什么觉得英文字体设计比中文字体设计来的好看?
    linux 部署系统通过SecureCRT启动tomcat 控制台中文乱码
  • 原文地址:https://www.cnblogs.com/yan2007/p/814445.html
Copyright © 2011-2022 走看看