• 爱情文章
  • 亲情文章
  • 友情文章
  • 生活随笔
  • 校园文章
  • 经典文章
  • 人生哲理
  • 励志文章
  • 搞笑文章
  • 心情日记
  • 英语文章
  • 范文大全
  • 作文大全
  • 新闻阅读
  • 当前位置: 山茶花美文网 > 经典文章 > 正文

    八个学习点帮助你全面认识Oracle数据库|数据库及其应用 自考

    时间:2020-05-25来源:山茶花美文网 本文已影响 山茶花美文网手机站

    TableSpace

    表空间:

    一个表空间对应多个数据文件(物理的dbf文件)

    用语法方式创建tablespace,用sysdba登陆:

    --创建表空间mytabs,大小为10MB:

    create tablespace mytabs datafile

    "C:oracleoradatamydbmytabs1.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;

    • 八个学习点帮助你全面认识Oracle数据库|数据库及其应用 自考 相关文章:
    • 爱情文章
    • 亲情文章
    • 友情文章
    • 随笔
    • 哲理
    • 励志
    • 范文大全