一、Oracle视图                                            

视图是虚表,没有具体物理数据,是通过实体表的一种计算映射逻辑。主要就是为了方便和数据安全;

实际当中的数据依然存在我们的实际表里面,只不过取数据的时候根据这个视图(子查询)从实际当中的表来查,把它当成一个表来用;

1.创建视图:

给用户授予创建视图的权限:grant create table,create view to scott;

查看当前用户下有哪些视图:select view_name from user_views;

查看用户的角色; select * from user_role_privs;

查看角色对应的权限;SELECT * FROM DBA_SYS_PRIVS WHERE GRANTEE='DBA';

授予用户dba权限    grant dba to scott;

3.使用视图:

4.只读视图:

Create view 视图名称as 查询语句with read only ;

5.删除视图  drop view v_emp

二、oracle约束条件:                                      

1.非空约束、默认值约束:

给约束起名字:stu_name_nn:
 
2.唯一约束,unique:
加了唯一约束后,就不能再email这个字段加重复的值了。

unique约束可以加null值,两个null值之间不认为是重复的;

//上面的都是字段级的约束,但是如果说要让名字和eamil的组合不能重复,怎么做?
 
---表级的约束:

3.主键约束:

主键逻辑意义上唯一标识整条记录。
主键的这个字段:不能为空、必须唯一;
或者:
 
4.外键约束:
班级表:
 
stu表的class列,参考class表的ID字段:
 

注意:

stu表的class这个字段存在外键约束class 的id
被参考字段必须是主键----class 的id必须为主键;主键非空、唯一

另外的写法:

5.check 检查约束

下面这个check约束是name必须为大写:
相当于这样的写法:

create table t_stu(
id number primary key,
name varchar2(20) check (name=upper(name))
)

check用的很少,一般在程序中已经进行验证了。。
 
 

三、                                            

orace学习操作(2)的更多相关文章

  1. orace学习操作(4)

    Orace游标: 一.游标简介: 使用游标,我们可以对具体操作数据,比如查询的结果,对行,列数据进行更加细致的处理.以及对其他DML操作进行判断等操作: 二.显示游标: 1.静态的指定变量类型: SQ ...

  2. Android – 学习操作NFC – 2

    在<Android – 学习操作NFC – 1>说明了Android在处理NFC tag的机制.tag dispatch system的运作流程,以及三种ACTION_NDEF_DISCO ...

  3. MySQL学习——操作自定义函数

    MySQL学习——操作自定义函数 摘要:本文主要学习了使用DDL语句操作自定义函数的方法. 了解自定义函数 是什么 自定义函数是一种与存储过程十分相似的过程式数据库对象.它与存储过程一样,都是由SQL ...

  4. MySQL学习——操作存储过程

    MySQL学习——操作存储过程 摘要:本文主要学习了使用DDL语句操作存储过程的方法. 了解存储过程 是什么 存储过程是一组为了完成特定功能的SQL语句集合. 使用存储过程的目的是将常用或复杂的工作预 ...

  5. MySQL学习——操作视图

    MySQL学习——操作视图 摘要:本文主要学习了使用DDL语句操作视图的方法. 了解视图 是什么 视图是从一个.多个表或者视图中导出的表,包含一系列带有名称的数据列和若干条数据行. 特点 视图不是数据 ...

  6. MySQL学习——操作表里的数据

    MySQL学习——操作表里的数据 摘要:本文主要学习了使用DML语句操作表里数据的方法. 插入数据 语法 通过传入数据插入: insert into 表名 [(列名1, …, 列名n)] values ...

  7. MySQL学习——操作数据库

    MySQL学习——操作数据库 摘要:本文主要学习了使用DDL语句操作数据库的方法. 创建数据库 语法 create database [if not exists] 数据库名 [default] ch ...

  8. (三)linux 学习 --操作文件和目录

    The Linux Command Line 读书笔记 - 部分内容来自 http://billie66.github.io/TLCL/book/chap05.html 文章目录 通配符 字符范围 ` ...

  9. selenium(3):学习操作元素基本方法

    来源:<selenium webdriver基于Python源码案例> 一.打开网页①第一步:从selenium里面导入webdriver模块②打开浏览器(Ie和Chrome对应下面的)③ ...

随机推荐

  1. [转载]oracle位图索引

    原文URL: http://lzfhope.blog.163.com/blog/static/63639922013119112011947/ 很详细,推荐看5遍

  2. Lightbox JS v2.0图片切换效果

    代码下载

  3. 一道sql 关于pivot的面试题

    分析:其实它是对时间月份行转列的 表结构设计: 结果: select Name,moth,ISNULL([01],0) as Value1,ISNULL([02],0) as Value2,ISNUL ...

  4. html头标签meta实现refresh重定向

    <html> <head> <meta http-equiv="content-type" content="text/html; char ...

  5. linux 简单常用命令

    kill -3 pid就是发送信号3也就是SIGQUIT给进程pid.kill -9 就是发信号9也就是SIGKILL. pwd: 打印当前工作目录ls:默认显示当前工作目录内容cd:改变当前工作目录 ...

  6. koa 框架 介绍 -- 待续

    对比 express  更小  更健壮 解决繁琐的回调函数嵌套, 并极大地提升错误处理的效率 Koa 的核心设计思路是为中间件层 提供高级语法糖封装, (其实就是用了 ES6的生成器, 能中断函数的执 ...

  7. "Incorrect string value: '\\xE7\\x89\\x8C\\xE5\\xB1\\x80...' for column 'name' at row 1")

    出现这个错误的原因是,数据库的编码格式为latin1 而我要将utf8的中文插入到数据库中. mysql> alter database xxx default character set ut ...

  8. SWIFT 之CoreData初试

    SWIFT中使用CoreData来保存本地数据,在建立项目的时候把 "Use Core Data"选项选上 项目建立完成后点击后缀为 .xcdatamodeld的那个文件,点击右下 ...

  9. [Python] 网络编程之TCP编程

    转自:TCP编程 - 廖雪峰的官方网站 Socket是网络编程的一个抽象概念.通常我们用一个Socket表示“打开了一个网络链接”,而打开一个Socket需要知道目标计算机的IP地址和端口号,再指定协 ...

  10. C++ 写的地图控件,支持google 百度 在线离线地图

    C++处理google  百度地图在网上查阅了很多都是通过浏览器方式显示地图信息, 跟我目前项目很不符合, 所以仔细研究了一下C++方式显示地图.通过地图投影以及墨卡托投影,在通过平面地图计算经纬度. ...