oracle基本語法

2021-08-31 20:55:02 字數 4592 閱讀 2394

自定義函式

儲存過程

觸發器檢視

--建立表空間

create

tablespace spacename logging datafile 'e:\dbtest\abc.dbf' size

32m autoextend on

next

32m maxsize unlimited extent management local

--刪除表空間

drop

tablespace spacename including contents and datafiles

--查詢所有表空間

select tablespace_name from dba_tablespaces

--建立使用者並指定表空間

create

user testuser identified by

123default

tablespace sapcename

使用者

角色sys

系統管理員

system

本地管理員

scott

普通管理員

-- 授予使用者登入許可權

grant

create

session

to testuser

-- 授予使用表空間的許可權

grant unlimited tablespace

to testuser

-- 授予建立表的許可權

grant

create

table

to testuser

-- 授予刪除表的許可權

grant

drop

anytable

to testuser

-- 授予插入表的許可權

grant

insert

anytable

to testuser

-- 授予修改表的許可權

grant

update

anytable

to testuser

-- 授予建立儲存過程和自定義函式的許可權

grant

create

procedure

to testuser

-- 授予建立觸發器的許可權

grant

create

trigger

to testuser

--授予建立檢視的許可權

grant

create

view

to testuser

-- 授予動態執行表訪問許可權

grant

select

on v_$session

to testuser

grant

select

on v_$sesstat to testuser

grant

select

on v_$statname to testuser

-- 授予所有許可權給所有使用者

grant

allto

public

--oralce對許可權管理比較嚴謹,普通使用者之間也是預設不能互相訪問的,需要互相授權

grant

select

on tablename to testuser

grant

drop

on tablename to testuser

grant

insert

on tablename to testuser

grant

update

on tablename to testuser

--授予對指定表特定欄位的插入和修改許可權,注意,只能是insert和update

grant

insert

(id)

on tablename to testuser

grant

update

(id)

on tablename to testuser

--授予testuser 使用者alert中任意表的許可權

grant alert all

table

to testuser

角色是相關許可權的集合,使用角色能夠簡化許可權的管理。簡而言之就是oracle可以事先把一系列許可權集中在一起(角色),打包賦予給使用者,那麼使用者就具有了角色的一系列許可權。

oracle預定義角色有25種,它是oracle提供的角色。經常用到的角色有connect、resource、dba三種角色。建乙個使用者,多數情況下,只要給使用者賦予connect和resource角色就夠了。

connect角色具有一般應用開發人員需要的大部分許可權,connect角色具有的系統許可權如下:

alter session

create cluster

create database link

create session

create table

create view

create sequence

resource角色具有開發人員需要的其他許可權,如建立儲存過程、觸發器等,resource角色等,resource角色隱含了unlimited tablespace系統許可權(無限製表空間),resource的系統許可權有:

create cluster

create indextype

create table

create sequence

create type

create procedure

create trigger

dba角色具有所有系統許可權及with admin option選項,預設dba使用者為sys和system,它們可以將任何系統許可權授予給其他使用者。但是dba角色不具備sysdba和sysoper的許可權,即啟動和關閉資料庫。

grant

connect

to testuser

基本語法同grant,關鍵字為revoke

select

*from user_sys_privs

--無參的函式

create

orreplace

function functionname return varchar2 is

v_result varchar2(20)

;begin

insert

into tb_menu values(2

,'公告管理');

commit

;return

'新增完了'

;end functionname ;

--帶引數的函式

create

orreplace

function functionname (v_name in varchar2,v_id in

int)

return varchar2 is

v_result varchar2(20)

;begin

insert

into tb_menu values

(v_id,v_name)

;commit

;return

'新增完了'

;end functionname;

--無參儲存過程

create

orreplace

procedure procedurename is

begin

insert

into tb_user values(1

,'張三');

commit

;end procedurename;

--帶游標輸出引數的儲存過程

create

orreplace

procedure procedurename(

data

out sys_refcursor)

isbegin

open

data

forselect

*from tb_menu;

end procedurename;

create

orreplace

trigger triggername after

delete

on tablename for each row

begin

insert

into tb_user values(2

,'李四');

end triggername;

create

orreplace

view viewname as

select t.m_id,t.mname from tb_menu t

Oracle基本語法

1 window下啟動oracle服務 net start oracle服務名 net start oracle的 名 2 建立使用者 create user 建立使用者的名稱 identified by 建立使用者的密碼 3 修改使用者口令 alter user 需要修改使用者 identifie...

Oracle基本語法

1 表 create table test names varchar2 12 dates date,num int,dou double 2 檢視 create or replace view vi test as select from test 3 同義詞 create or replace ...

Oracle基本語法

檢視表結構 descride 修改表型別 alter table tablename modify.alter table emp modify empname char 55 修改表字段 alter table tablename add.alter table emp add enote1 ch...