精华内容
下载资源
问答
  • 今天,数据库里在创建一个视图时,一直提示该表视图存在,然后呢在目录和视图目录下都未找到,而且我又能看到这个在其它数据库里存在的信息,这时候仔细排查了一下,发现是之前建立同义词的原因,删除掉之前的...

    今天,数据库里在创建一个视图时,一直提示该表或视图存在,然后呢在表目录和视图目录下都未找到,而且我又能看到这个表在其它数据库里存在的信息,这时候仔细排查了一下,发现是之前建立同义词的原因,删除掉之前的同义词信息就好了。所以大家下次在创建一个表时,先看一下是否能够查看这个表的信息,然后再进行新建。

    展开全文
  • 建立视图

    千次阅读 2013-04-22 22:58:02
     CREATE VIEW命令创建视图,定义视图的查询可以建立一个或多个,或其他视图上。查询不能有FOR UPDATE子串,在早期的ORACLE8i版本中不支持ORDER BY子串,现在的版本中CREATE VIEW可以拥有ORDER BY子串。  例...

       建立视图

      CREATE VIEW命令创建视图,定义视图的查询可以建立在一个或多个表,或其他视图上。查询不能有FOR UPDATE子串,在早期的ORACLE8i版本中不支持ORDER BY子串,现在的版本中CREATE VIEW可以拥有ORDER BY子串。

      例:

    SQL> CREATE VIEW TOP_EMP AS 
    SELECT empno EMPLOYEE_ID,ename EMPLOYEE_NAME,salary 
    FROM emp
    WHERE salary >2000

      用户可以在创建视图的同时更改列名,方法是在视图名后立即加上要命名的列名。重新定义视图需要包含OR REPLACE子串。

    SQL> CREATE VIEW TOP_EMP
    (EMPLOYEE_ID,EMPLOYEE_NAME,SALARY) AS 
    SELECT empno ,ename ,salary 
    FROM emp
    WHERE salary >2000

      如果在创建的视图包含错误在正常情况下,视图将不会被创建。但如果你需要创建一个带错误的视图必须在CREATE VIEW语句中带上FORCE选项。如:

    CREATE FORCE VIEW ORDER_STATUS AS 
    SELECT * FROM PURCHASE_ORDERS
    WHERE STATUS='APPPOVE';

    SQL>/

    warning :View create with compilation errors

      这样将创建了一个名为ORDER_STATUS的视图,但这样的视图的状态是不合法的,如果以后状态发生变化则可以重新编译,其状态也变成合法的。

       从视图中获得数据

      从视图中获得数据与从表中获得数据基本一样,用户可以在连接和子查询中使用视图,也可以使用SQL函数,以及所有SELECT语句的字串。

       插入、更新、删除数据

      用户在一定的限制条件下可以通过视图更新、插入、删除数据。如果视图连接多个表,那么在一个时间里只能更新一个表。所有的能被更新的列可以在数据字典USER_UPDATETABLE_COLUMNS中查到。

      用户在CREATE VIEW中可以使用了WITH子串。WITH READ ONLY子串表示创建的视图是一个只读视图,不能进行更新、插入、删除操作。WITH CHECK OPTION表示可以进行插入和更新操作,但应该满足WHERE子串的条件。这个条件就是创建视图WHERE子句的条件,比如在上面的例子中用户创建了一个视图TOP_EMP,在这个视图中用户不能插入salary小于2000的数据行。

       删除视图

      删除视图使用DROP VIEW命令。同时将视图定义从数据字典中删除,基于视图的权限也同时被删除,其他涉及到该视图的函数、视图、程序等都将被视为非法。

      例:

    DROP VIEW TOP_EMP;

    展开全文
  • 视图一个虚拟,其内容由查询定义。对其中所引用的基础来说,视图的作用类似于筛选。定义视图的筛选可以来自当前或其他数据库的一个或多个,或者其他视图。分布式查询也可以定义使用多个异类源数据的视图。...

    (1)视图概述
    视图是一个虚拟表,其内容由查询定义。对其中所引用的基础表来说,视图的作用类似于筛选。定义视图的筛选可以来自当前或其他数据库的一个或多个表,或者其他视图。分布式查询也可以定义使用多个异类源数据的视图。视图的结构和内容是通过SQL查询获得的,它也称为视图名,可以永久地保存在数据库中,视图在数据库内存储的是select语句,也即数据库内并没有存储视图这个表,而存储的是视图的定义。Select语句的结果集构成视图所返回的虚拟表。用户可以引用表时所使用的方法,在SQL语句中通过引用视图名称来使用虚拟表。使用视图可以实现下列任一或所有功能:
    A.    将用户限定在表中的特定行上。例如:只允许雇员看见工作跟踪表内记录其工作的行。
    B.    将用户限定在特定列上,例如,对于那些不负责任处理工资单的雇员,只允许其看见雇员表中的姓名列、办公室列、工作电话列和部门列,而不能看见任何包含工资信息或个人信息的列。
    C.    将多个表中的列连接起来,使它们看起来像一个表。
    D.    聚合信息而非提供详细信息。


    (2)视图的类型
    ① 索引视图
    索引视图是被具体化了的视图。这意味着已经对视图定义进行了计算并且生成的数据像表一样存储,用户可以为视图创建索引,即对视图创建一个唯一的聚集索引。索引视图可以显著提高某类查询的性能,尤其适于聚合许多行的查询,但不太适合经常更新的基本数据集。

    ② 分区视图
    分区视图在一台或多台服务器间水平连接一组成员表中的分区数据,使数据看上去来自同一张表。连接同一个SQLSERVER2014实例中成员表的视图就是一个本地分区视图。

    ③ 系统视图
    系统视图包含目录元数据,可以使用系统视图返回SQL Server实例或在该实例中定义的对象有关的信息。例如,可以查询sys.databases目录视图以便返回实例中提供的用户定义数据库有关的信息。


    (3)视图的优缺点
    优点:
    ①    安全保密性。通过视图用户只能查询和修改他们所能见到的数据,数据库中的其他数据则既看不见也取不到。数据库授权命令可以使每个用户对数据库的检索限制到特定的数据库对象上,但不能授权到数据库特定行和特定列上。通过视图,用户可以被限制在数据不同的子集上。
    ②    查询简单性。视图能够从几个不同的关系表中提取数据,并且用一个表单表示出来,利用视图,将多表查询转换成视图的单表查询。
    ③    结构简单性。视图能够给用户一个“个人化”的数据结构外观,用一组用户感兴趣的可见表来代表这个数据库的内容。
    ④    隔离变化。视图能够代表一个个一致的、非变化的数据。即使是在作为视图基础的源表被分隔、重新构造或者重新命名的情况下,也是如此。
    ⑤    数据完整性。如果数据被存取,并通过视图来输入,DBMS就能够自动地校验这个数据,以便却确保满足所规定的完整性约束。
    ⑥    逻辑数据独立性。视图可以使应用程序和数据库表在一定程度上独立。如果没有视图,应用一定是建立在表上的。有了视图之后,程序可以建立在视图之上,从而程序与数据库被视图分隔开来。

    缺点:
    ①    性能。数据库管理系统必须把视图的查询转化成对基本表的查询,如果这个视图是由一个复杂的多表查询所定义,那么,即使是对视图的一个简单查询,数据库管理系统也会将其变成一个复杂的结合体,需要花费一定的时间。
    ②    修改限制。当用户试图修改视图的某些记录行时,数据库管理系统必须将其转换为对基本表的某些行的修改。对于简单视图来说,这是很方便的,但是,对于复杂的视图,可能是不可修改的。


    (4)视图的用途
    A.    集中、简化和自定义每个用户对数据库的认识。
    B.    用作安全机制,方式是通过允许用户通过视图访问数据,而不授权用户直接访问底层基表的权限。
    C.    提供向后兼容接口来模拟架构已更改的表。

     

     【视图属性参数解析】
    ①    数据库:包含此视图的数据库的名称。
    ②    服务器:当前服务器实例的名称。
    ③    用户:此连接的当前用户名。
    ④    创建日期:显示视图的创建日期。
    ⑤    名称:当前视图的名称。
    ⑥    架构:显示视图所属的架构。
    ⑦    系统对象:指示视图是否为系统对象,值为true和false。
    ⑧    ANSI NULLs:指示创建对象时是否选择了“ANSI NULLs”选项。
    ⑨    已加密:指示视图是否已加密,值为true和false。
    ⑩    带引号的标识符:指示创建对象时是否选择了“带引号的标识符”选项。
    ⑪    带架构已绑定:指示视图是否绑定到架构,值为true和false。

    【视图属性窗体参数解析】
    (名称):当前视图的名称
    A.    数据库名称:包含此视图的数据库的名称
    B.    说明:对当前视图的简短说明
    C.    架构:显示视图所属的架构
    D.    服务器名称:当前服务器实例的名称
    E.    绑定到架构:防止用户以会使用视图定义失效的任何方式修改影响此视图的基础对象。
    F.    是的确:显示是否可以明确地确定所选列的数据类型。
    G.    非重复值:指定查询将在视图中筛选出重复值。当只使用表中的部分列并且这些列可能包含重复值时,或者当联接两个或更多表的过程会在结果集中产生重复行时,此选项非常有用。选择该选项等效于向SQL窗格内的语句中插入关键字distinct。
    H.    Group by 扩展:指定对于基于聚合查询的视图,附加选项可用。
    I.    输出所有列:显示所有列是否都由所选视图返回。这是在创建视图时设置的。
    J.    SQL注释:显示SQL语句的说明。若要查看或编辑完整的说明,请单击相应的说明,再单击属性右侧的省略号(…)。注释可用包含视图使用者和使用时间等信息。
    K.    Top规范:展开此项可显示Top、“百分比”、“表达式”和“等同值”属性的属性。
    ①    Top:指定视图将包括Top子句,该子句只返回结果集中的前N行或前百分之N行。默认情况下,视图将在结果集中返回前10行。使用此选项可更改返回的行数或指定不同的百分比。
    ②    表达式:显示视图将返回的百分比(如果“百分比”设置为“是”)或记录(如果“百分比”设置为“否”)。
    ③    百分比:指定查询将包含一个top子句,仅返回结果集中前百分之n行。
    ④    等同值:指定视图将包括with ties子句。如果视图包含order by子句和基于百分比的top子句,with ties将非常有用。如果设置了该选项,并且百分比截止位置在一组行的中间,且这些行在order by子句中具有相同的值,则视图将会扩展,以包含所有这样的行。
    ⑤      更新规范:展开此项可显示“使用视图规则更新”和“check选项”属性。


     (5)创建基于视图的视图


     

     (6)    删除视图
    当一个视图不再需要时,可以将其从数据库中删除,以回收其当前使用的磁盘空间。这样数据库中的任何对象都可以使用此回收空间。
    ①    限制和局限:删除视图时,将从系统目录中删除视图的定义和有关视图的其他信息。还将删除视图的所有权限。使用drop table 删除的表上的任何视图都必须使用drop view显示删除。
    ②    权限:需要有对schema的alter权限或对object的control权限。

     


     

    (7)    对视图的数据进行增删改操作

     

    如上描述如有不懂,可以扫码关注麒琳技术栈公众号,欢迎在线咨询

    展开全文
  • 数据库建立、修改、删除 CREATE TABLE LYLF615."ot_test" ( "id" INTEGER NOT NULL GENERATED ALWAYS AS IDENTITY ( START WITH 1, INCREMENT BY 1, NO CYCLE, CACHE 20 ), "name" VARCHAR(10) PRIMARY KEY ("id...

    数据库表的建立、修改、删除

    CREATE TABLE LYLF615."ot_test"
    ( "id" INTEGER NOT NULL GENERATED ALWAYS AS IDENTITY ( START WITH 1, INCREMENT BY 1, NO CYCLE, CACHE 20 ),
    "name" VARCHAR(10)

    PRIMARY KEY ("id")
    )
    IN "mytesttbs"
    INDEX IN "mytesttbs"
    ;
    ALTER TABLE LYLF615."ot_test" DATA CAPTURE NONE;
    ALTER TABLE LYLF615."ot_test" NOT VOLATILE;
    ALTER TABLE LYLF615."ot_test" APPEND OFF;
    ALTER TABLE LYLF615."ot_test" LOCKSIZE ROW;
    ALTER TABLE LYLF615."ot_test" ADD PRIMARY KEY ("id");

    ALTER TABLE LYLF615."ot_test" ADD "org_id" INTEGER;

    10. 数据库表字段的定义

    CREATE TABLE ot_test_org
    (
    org_id INTEGER not null,
    org_name VARCHAR(10),
    PRIMARY KEY (org_id)
    )
    IN "mytesttbs"
    ;

    11. 索引、主外键的建立、修改、删除

    ALTER TABLE LYLF615."ot_test" ADD CONSTRAINT FK_ORG_ID
    FOREIGN KEY ("org_id")
    REFERENCES LYLF615.OT_TEST_ORG (ORG_ID)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION
    ;

    ALTER TABLE LYLF615."ot_test" DROP CONSTRAINT FK_ORG_ID;
    ALTER TABLE LYLF615."ot_test" ADD CONSTRAINT FK_ORG_ID
    FOREIGN KEY ("org_id")
    REFERENCES LYLF615.OT_TEST_ORG (ORG_ID)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION
    ;

    CREATE INDEX ON



    ,
    column 2 ...
    )
    UNIQUE 属性告诉 DB2,索引必须强制所有插入值的唯一性。
    如果结果集是以升序和降序两种方式排序的,ALLOW REVERSE SCANS 会告诉 DB2 在索引中包括附加的指针,以允许在记录中有效地进行正向和反向链接。
    DB2 能够向正在创建的索引中添加另外的列。CREATE INDEX 命令允许用户指定那些不属于实际索引但因为性能原因而保存在索引记录中的列。
    CREATE UNIQUE INDEX ON EMPLOYEE (EMPNO) INCLUDE (LASTNAME,FIRSTNAME)
    对于索引中包含的列而言,索引必须是 UNIQUE 的。当创建索引时,另外的列被添加到索引值中。索引不使用这些值进行排序或确定唯一性,但可以在满足 SQL 查询时使用它们。例如,下列 SELECT 语句将不需要读取实际数据行:
    SELECT LASTNAME, FIRSTNAME FROM EMPLOYEE WHERE EMPNO < '000300'
    要在表上创建群集索引,将 CLUSTER 关键字附加到 CREATE INDEX 命令的末尾,例如:
    CREATE INDEX DEPTS-IX ON EMPLOYEE(WORKDEPT) CLUSTER
    使用下列通用规则来决定为表定义的索引的经典数量。索引数量取决于数据库的主要用途:
    对于在线事务处理(OLTP)环境,创建一到两个索引。
    对于混合查询和 OLTP 环境,创建两到五个索引。
    对于只读查询环境,创建五个以上索引。

    create unique index newindx on newtable(no) include (value);

    describe indexes for table newtable show detail;

    drop index newindx

    12. 视图的建立、修改、删除

    CREATE VIEW LYLF615."ot_test_view" AS SELECT * FROM OT_TEST_ORG WHERE org_id=1

    CREATE VIEW LYLF615."test_view1" AS
    SELECT id,cname,a.org_id,b.org_name
    FROM ot_test a, ot_test_org b
    WHERE a.org_id=b.org_id

    视图唯一能修改的是引用类型列,改变列的范围。其他定义好了都不能修改。当视图基于的基表drop后,视图变为无效。

     

    URL:http://mycopy.blog.sohu.com/89997930.html

    ( column 1
    展开全文
  • 图是基于一个表或多个视图的逻辑,本身不包含数据,通过它可以对表里面的数据进行查询和修改。视图基于称为基表,Oracle的数据库对象分为五种:视图,序列,索引和同义词。 视图是存储在数据字典里...
  • 系统是用于反恐的data warehousing和BI分析系统,这才第次和数据仓库有了接触,区区两月的时间,也没有什么特别深的体会,只是针对工作中碰到的基于大数据量分区的物化视图有了更多的理解,在此小结一下。...
  • 视图基于表或者视图的逻辑,与储存数据的一样都是Oracle的方案对象。 视图通常用于下面: 1、通过提供用户所需要的的基表中的数据,可以简化用户对数据的理解,隐藏结构的复杂性,而且可以将那些...
  • 视图

    2018-05-01 00:39:48
    视图是从一个或者几个基本(或视图)导出的,是一个,它与基本不同。数据库中只存放视图的定义,而...视图一经定义,就可以和基本一样被查询、被删除,也可以在一个视图之上再定义新的视图,但是对于更...
  • 数据库中的数据都是存储在中的,而视图只是一个或多个依照某个条件组合而成的结果集,一般来说你可以用update,insert...因此,是数据库中数据存储的基础,而视图只是为了满足某种查询要求而建立一个对象。...
  • 数据库视图的区别

    千次阅读 2016-04-22 14:23:46
    区别: 1、视图是已经编译好的sql语句。而不是 2、视图没有实际的物理记录。而有。...6、视图是查看数据种方法,可以查询数据中某些字段构成的数据,只是一些SQL语句的集合。从安
  • oracle复制、临时视图

    千次阅读 2014-12-10 11:43:49
    创建一个表new_table和old_table结构一样(没有old_table的记录) create table new_table as select * from old_table where 1=0;   创建一个表new_table和old_table结构一样(有old_table的记录) ...
  • 视图视图基于结果集的可视化的,用于简化查询,对视图的操作不会影响到数据库本身。...from Course可以看到在视图中多了一个文件: 查看一下: ②删除视图DROP VIEW 视图删除后可以刷新对象资
  • 1. 临时 1) 概念 a) 临时跟永久最大的区别就是中的数据不会永远的存在 b) Oracle临时分为会话级临时和事务级临时。 c) 会话临时,结束或中断会话时清空数据。 create global temporary table XXX...
  • 创建视图删除视图、 查询视图。 (3)掌握使用Transact-SQL语句创建索引、查看缩引、删除索引;创建视图删除视图、 查询视图。 实验内容和步骤: 1.使用SSMS创建索引、查看缩引、删除索引;创建视图删除视图...
  • oracle视图

    2016-07-14 00:04:23
    视图   Oracle数据库数据对象中最基本的是视图,其他还有约束、序列、函数、存储过程、包、触发器等。对数据库的操作可以基本归结为对数据对象的操作,理解和掌握Oracle数据库对象是...视图一个或多个
  • 视图建立实例

    2010-11-23 13:39:00
    视图包含行和列,就像一个真实的视图中的字段就是来自一个或多个数据库中的真实的中的字段。我们可以向视图添加 SQL 函数、WHERE 以及 JOIN 语句,我们也可以提交数据,就像这些来自于某个单一的。注释:...
  • 视图

    2013-04-22 22:55:24
     可以看作有行和列的电子数据是关系数据库中种拥有数据的结构。用CREATE TABLE语句建立表,在建立表的同时,必须定义表名,列,以及列的数据类型和大小。例如: CREATE TABLE products  ( ...
  • (1)视图是已经编译好的SQL语句,是基于SQL语句的结果集的可视化的,而不是。 (2)视图没有实际的物理记录,而有。 (3)是内存,视图是窗口。 (4)占用物理存储空间而视图不占用物理存储空间,视图...
  • 视图的区别??

    千次阅读 2019-08-28 08:54:48
    当使用视图时,才会根据视图存储的sql逻辑动态生成一个虚拟; 对视图的操作跟普通是一样的(增删改查); 视图建立create和删除drop只影响视图本身,不影响对应的基本。 应用: 隐藏一些不想展示给用户...
  • 建立视图 SQL语言用CREATE VIEW命令建立视图,其一般格式为 CREATE VIEW 视图名>[(列名>[,列名>]…)] AS〈子查询〉 [WITH CHECK OPTION]; 其中WITH CHECK OPTION表示对视图进行UPDATE、INSERT和...
  • Oracle视图

    2016-07-22 08:47:13
    视图基于一个表或多个视图的逻辑,本身不包含数据,通过它可以对表里面的数据进行查询和修改。视图基于称为基表。视图是存储在数据字典里的一条select语句。 通过创建视图可以提取数据的逻辑上的集合或...
  • Oracle之创建、序列、索引和视图

    千次阅读 2014-11-30 22:09:06
     · 创建、修改和删除表  · 如何创建并使用序列:序列可以生成系列数字  · 如何创建并使用索引:索引可以提高查询的性能  · 如何创建并使用视图视图是预定义的查询  · 闪回数据归档将段时间内对表所...
  • Oracle的物化视图是包括一个查询结果的数据库对像,它是远程数据的的本地副本,或者用来生成基于数据求和的汇总。物化视图存储基于远程的数据,也可以称为快照。 物化视图可以查询视图和其它的物化...
  • SQL视图和多连接

    万次阅读 热门讨论 2013-08-30 20:56:30
     首先,还是要说明一下视图的定义:视图基于SQL语句的结果集的可视化虚拟,换句话说视图就是SQL查询结果的可视化呈现,是多个表的部分数据的关系虚拟。为了后面的内容更容易理解,我们还要看一下视图建立...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 79,816
精华内容 31,926
关键字:

删除一个表后基于该表建立的视图