前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Oracle中新建用户、授权、建表

Oracle中新建用户、授权、建表

作者头像
浩Coding
发布2019-07-03 15:22:07
2.2K0
发布2019-07-03 15:22:07
举报
文章被收录于专栏:浩Coding

一 创建用户

语法[创建用户]: create user 用户名 identified by 口令[即密码]

代码语言:javascript
复制
 #创建一个名为testuser 密码为testpassword 的用户
 create user testuser identified by testpassword

语法[更改用户]: alter user 用户名 identified by 口令[改变的口令]

代码语言:javascript
复制
 #更改testuser用户的密码为change
 alter user testuser identified by change

删除用户:语法:drop user 用户名;

代码语言:javascript
复制
drop user testuser ;

若用户拥有对象,则不能直接删除,否则将返回一个错误值。指定关键字cascade,可删除用户所有的对象,然后再删除用户。

语法: drop user 用户名 cascade;

代码语言:javascript
复制
drop user testuser cascade;

二 授权角色

oracle为兼容以前版本,提供三种标准角色(role):connect/resource和dba。分别是connect role(连接角色):只对其他用户的表有访问权限,包括select/insert/update和delete等。resource role(资源角色):提供给用户另外的权限以创建他们自己的表、序列、过程(procedure)、触发器(trigger)、索引(index)和簇(cluster)。dba role(数据库管理员角色):拥有所有的系统权限,包括无限制的空间限额和给其他用户授予各种权限的能力。

授权命令语法: grant connect, resource to 用户名;

例子: grant connect, resource to test;

(3)撤销权限

语法: revoke connect, resource from 用户名;

代码语言:javascript
复制
   列子: revoke connect, resource from testuser;

三 建表

创建一张学生课程成绩表(包括主外键):

代码语言:javascript
复制
create table score(  
  scoreid    number(10) primary key,  
  sid     number(10) references student(sid), 
  cid     number(10) references course(cid), 
  score   number(10)
);

创建主键:

alter table AOP_BASE_HOSTTZ

add primary key (hosttz_id)

using index

tablespace XZDATA

pctfree 10

initrans 2

maxtrans 255

storage

(

initial 64K

next 1M

minextents 1

maxextents unlimited

);

创建外键:

alter table AOP_AUTH_DUTY

add constraint BB5B2C32A1970D79D1B4F7A8E83BF2 foreign key (LAST_UPDATED_BY)

references AOP_AUTH_USER (USER_ID)

deferrable initially deferred;

创建索引:

create sequence AOP_BASE_IP_SQ

minvalue 1

maxvalue 9999999999999999999999999999

start with 1

increment by 1

cache 20;

创建索引名称 最小 最大 开始于 增量 高速缓存大小

创建触发器:

CREATE OR REPLACE TRIGGER "AOP_BASE_IP_TR"

BEFORE INSERT ON "AOP_BASE_IP"

FOR EACH ROW

when (new."OBJ_ID" IS NULL)

BEGIN

SELECT "AOP_BASE_IP_SQ".nextval

INTO :new."OBJ_ID" FROM dual;

END;

创建存储过程:

/**

* get AOP_C_M_MW_CODE

**/

FUNCTION AOP_C_M_MW_CODE RETURN VARCHAR2;

--

--FUNCTION AOP_C_M_MW_CODE RETURN VARCHAR2 IS

FUNCTION AOP_C_M_MW_CODE RETURN VARCHAR2 IS

V_CODE AOP_COLLECTION_MANAGEMENT_MW.CM_CODE%TYPE;

BEGIN

-- ??code??????1??????????1??

SELECT NVL(MAX(TO_NUMBER(REGEXP_SUBSTR(D.CM_CODE, '[0-9]+'))), 0) + 1

INTO V_CODE

FROM AOP_COLLECTION_MANAGEMENT_MW D;

-- ???? EMERGENCY-ITEM-001

V_CODE := 'COMA-MW-' || LPAD(V_CODE, 3, 0);

RETURN V_CODE;

END;

然后TR触发器中需添加:

SELECT GET_CODE_PKG.AOP_C_M_MW_CODE

INTO :NEW.CM_CODE

FROM DUAL;

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-05-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 浩Coding 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库智能管家 DBbrain
数据库智能管家(TencentDB for DBbrain,DBbrain)是腾讯云推出的一款为用户提供数据库性能、安全、管理等功能的数据库自治云服务。DBbrain 利用机器学习、大数据手段、专家经验引擎快速复制资深数据库管理员的成熟经验,将大量传统人工的数据库运维工作智能化,服务于云上和云下企业,有效保障数据库服务的安全、稳定及高效运行。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档