程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> 關於Oracle數據庫 >> 八個學習點幫助你全面認識Oracle數據庫

八個學習點幫助你全面認識Oracle數據庫

編輯:關於Oracle數據庫

      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;

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved