Oracle的相关操作

Oracle的相关操作

创建用户:
sqlplus /nolog 连接Oracle
conn username/password; 登录用户

创建用户:
CREATE USER username
IDENTIFIED BY password
DEFAULT TABLESPACE tablespacename
TEMPORARY TABLESPACE tablespacename
QUOTA size ON tablespacename;//磁盘限额

create user c##test_user 
identified by oracle 
default tablespace users 
temporary tablespace temp;
查看用户信息:
查看用户信息:
dba_users
user_objects
desc dba_users;
desc user_objects;
select * from dba_users;
select * from user_objects;

修改用户:
修改用户:
修改密码
Alter user 用户名 identified by newpwd
password
用户锁定与解锁
Alter user username account lock
Alter user username account unlock
分配表空间配额
Alter user username quota size on tablespace
删除用户:
删除用户:
drop user username [cascade]
(1)如果用户方案中包括任何对象,在删除用户时,必须加上cascade短语。
(2)如果用户当前正与Oracle服务器连接,则不能删除。
(3)只有管理员才能删除用户
授权:

Grant 系统权限 to user
Grant 对象权限 on 数据对象 to user
grant create session to xiaoming
grant select on emp to xiaoming

Oracle创建视图

create view操作语法
CREATE [OR REPLACE] VIEW view_name [(column_aliases)] AS
    defining-query
[WITH READ ONLY]
[WITH CHECK OPTION]
* OR REPLACE - OR REPLACE选项取代了现有视图的定义。如果已授予该视图的各种权限,则非常方便。因为当使用DROP VIEW和CREATE VIEW来更改视图的定义时,Oracle会删除视图特权,这可能不是您想要的。 为了避免这种情况,可以使用保留视图特权的CREATE OR REPLACE子句。
* FORCE - 通常,基于现有的表创建一个新的视图。 但是,有时可能希望根据稍后创建的表创建视图,或者在创建视图时没有足够的权限访问表。在这些情况下,可以使用FORCE选项。
* column_aliases - 通常,从定义查询的选择列表派生的视图的列名称。 但是,定义查询的列名可能包含不能用于视图定义的函数或表达式。要解决这个问题,有两个选择:
   * 使用符合定义查询的SELECT子句中的命名规则的列别名。
   * 为CREATE VIEW和AS子句之间的视图列显式指定列别名。
* AS defining-query - 定义的查询是一个SELECT语句,它定义了视图的列和行。
* WITH READ ONLY - WITH READ ONLY子句防止底层表通过视图进行更改。(只读)
* WITH CHECK OPTION - WITH CHECK OPTION子句保护视图免受对基础表的任何更改,这些更改将生成未包含在定义查询中的行。

CREATE VIEW employee_yos (employee_id, full_name, yos) AS
SELECT
    employee_id,
    first_name || ' ' || last_name,
    FLOOR( months_between( CURRENT_DATE, hire_date )/ 12 )
FROM
    employees;
CREATE OR REPLACE VIEW customer_credits(
        customer_id,
        name,
        credit
    ) AS 
SELECT
        customer_id,
        name,
        credit_limit
    FROM
        customers WITH READ ONLY;
CREATE OR REPLACE VIEW backlogs AS
SELECT
    product_name,
    EXTRACT(
        YEAR
    FROM
        order_date
    ) YEAR,
    SUM( quantity * unit_price ) amount
FROM
    orders
INNER JOIN order_items
        USING(order_id)
INNER JOIN products
        USING(product_id)
WHERE
    status = 'Pending'
GROUP BY
    EXTRACT(
        YEAR
    FROM
        order_date
    ),
    product_name;

Oracle创建存储过程

语法

可以使用“CREATE PROCEDURE”语句来创建存储过程,基本语法“CREATE [OR REPLACE] PROCEDURE 过程名 [参数列表] IS [...] BEGIN ... END [过程名];”。
CREATE [OR REPLACE] PROCEDURE 过程名 [ (参数 [,参数]) ]  
IS  
    [declaration_section]  
BEGIN  
    executable_section  
[EXCEPTION  
    exception_section]  
END [过程名];
IN:这是一个默认参数,它将值传递给子程序。

OUT:必须指定,它向调用者返回一个值。

IN OUT:必须指定,它将初始值传递给子程序并将更新的值返回给调用者。
create or replace procedure "INSERTUSER"   

(id IN NUMBER,    

name IN VARCHAR2)    

is    

begin    

    insert into user values(id,name);    

end;    
BEGIN    

   insertuser(101,'Maxsu');  

   dbms_output.put_line('record inserted successfully');    

END;   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值