广

oracle数据库

  • MYSQL
  • MSSQL
  • Redis
  • MongoDB
  • oracle数据库
  • 数据管理

    八个学习点帮助你全面认识Oracle数据库

    2018-04-09 07:41:06 次阅读 稿源:互联网
    广告
    全网推广平台,软文发布

    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;

    一起学吧部分文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与一起学吧进行文章共享合作。

    广告
    广告
    广告
    广告