精华内容
下载资源
问答
  • 视图中插入数据

    千次阅读 2020-12-22 08:54:53
    (2)由于视图只引用中的部分字段,所以通过视图插入数据时只能明确指定视图中引用的字段的取值。而那些中并未引用的字段,必 须知道没有指定取值的情况下如何填充数据,因此视图中未引用的字段必须具备下列...

    视图除了进行查询记录外,也可以利用视图进行插入、更新、删除记录的操作,减少对基表中信息的直接操作,提高了数据的安全性。
    在视图上使用INSERT语句添加数据时,要符合以下规则。

    (1)使用INSERT语句向数据表中插入数据时,用户必须有插入数据的权利。
    (2)由于视图只引用表中的部分字段,所以通过视图插入数据时只能明确指定视图中引用的字段的取值。而那些表中并未引用的字段,必
    须知道在没有指定取值的情况下如何填充数据,因此视图中未引用的字段必须具备下列条件之一。
    该字段允许空值。
    该字段设有默认值。
    该字段是标识字段,可根据标识种子和标识增量自动填充数据。
    该字段的数据类型为timestamp或uniqueidentifier。
    (3)视图中不能包含多个字段值的组合,或者包含使用统计函数的结果。
    (4)视图中不能包含DISTINCT或GROUP BY子句。
    (5)如果视图中使用了WITH CHECK OPTION,那么该子句将检查插入的数据是否符合视图定义中SELECT语句所设置的条件。如果插入
    的数据不符合该条件,SQL Server会拒绝插入数据。
    (6)不能在一个语句中对多个基础表使用数据修改语句。因此,如果要向一个引用了多个数据表的视图添加数据时,必须使用多个INSERT语句进行添加。

    展开全文
  • SQL 数据库里是否可以通过视图更改表中数据? 2011-09-14 11:23呱呱的蛙 分类:数据库DB | 浏览 6809 次 书上说"视图被看成是虚拟,它并不代表任何的物理数据,只是用来查看数据的视窗而已。数据库只...

    SQL 数据库里是否可以通过视图更改表中的数据?

    2011-09-14 11:23 呱呱的蛙    分类:数据库DB  |  浏览 6809 次
    书上说"视图被看成是虚拟表,它并不代表任何的物理数据,只是用来查看数据的视窗而已。数据库中只储存视图的定义,并不是以一组数据的形式储存在数据库中"。“无论在什么时候修改试图的数据,实际上都是在修改对应的数据表中的数据”。这两句话不矛盾么?我查过百度了,有些说可以改,有些说不可以改,那到底行不行呢? 小弟刚开始学习SQL,请大虾为我解答一下,尽量详细点 ~
    2011-09-14 12:32 提问者采纳
    对于没有复杂处理的 单表 视图, 是可以 UPDATE 的。
    例如这样的视图
    CREATE VIEW  v_1  AS  SELECT * FROM 某表
    
    但是 假如你的视图, 是 单表的, 带统计的, 那恐怕是不能 直接 UPDATE 了。
    例如这样的视图
    CREATE VIEW v_2  AS  SELECT  id,  COUNT(*)  as num  FROM 某表
    
    --- 前面是单表的, 下面说多表的 ---
    
    对于2张表的,假如你的查询里面, 这2张表是 一对一的关系。 且视图里面, 包含了主键,那么是可以 UPDATE 的。
    例如下面这样的 视图
    CREATE VIEW temp_view AS
    SELECT
      t1.name  AS  t1Name,
      t1.age   AS  t1Age,
      t2.name  AS  t2Name,
      t2.age   AS  t2Age
    FROM
      t1, t2
    WHERE
      t1.name = t2.name
     
    然后直接更新视图。
    UPDATE temp_view  SET  t1Age = t2Age;
    
    完整的例子, 可参考
    http://hi.baidu.com/wangzhiqing999/blog/item/767be28f634ddb00c8fc7aba.html
    
    但是假如你的视图里面的 2个表, 不是一一对应的。
    或者是带了 SUM / COUNT 等统计函数的, 那么可能是没办法更新了。
    提问者评价
    谢谢你的简单而又容易理解例子~
    也谢谢全部回答我的人了
    展开全文
  • 本人刚接触SQL,不知道修改视图中数据能不能同时改变该视图所对应的中的数据百度上查了一下,有的说能,有的说不能,晕啊。
  • ArcGIS 显示模型数据表视图

    千次阅读 2014-02-27 11:05:10
    显示模型数据可使用添加至显示选项执行模型后将模型输入和输出自动添加到 ArcMap 内容列表。步骤:1. 右键单击任一数据变量,然后单击添加至显示,如下所示。 650) this.width=650;" title="GUID-DA7CD429-1022-...

    显示模型数据

    可使用添加至显示选项在执行模型后将模型输入和输出自动添加到 ArcMap 内容列表中。
    步骤:
    1. 右键单击任一数据变量,然后单击添加至显示,如下所示。
    101822590.png

    要从 ArcMap 内容列表中移除输入或输出,请右键单击模型中的数据变量,然后取消选中添加至显示选项。
    注:
    在选中添加至显示选项的情况下,工具的输出将使用变量名称添加到显示画面中。如果该模型迭代多次,并且要使用实际的唯一输出名称而非变量名称将每次迭代的输出添加至 ArcMap 中的显示画面:
    a. 将要显示的输出连接到收集值工具。
    b. 右键单击收集值的输出并选中添加至显示。
    c. 如果要从模型工具对话框运行模型,请将收集值的输出设为模型参数,因为系统只会将输出模型参数添加到显示画面。
    注:
    添加至显示在模型构建器之外不起作用。如果在模型工具对话框中或 Python 窗口中运行模型工具,“添加至显示”设置将不起作用。如果在模型对话框中或 Python 窗口中运行模型时要将模型数据变量添加到显示,请将数据变量转换为模型参数,然后启用标准工具 工具条中的将地理处理操作的结果添加到显示中选项:地理处理 > 地理处理选项 > 将地理处理操作的结果添加到显示中。



    表视图

    ArcGIS构建模型时,有时候用中间结果的某个表做另一个工具的参数时是不可以的,这是就需要把其转化为表视图。如下图,添加连接是,必须将“震中距县城距离表”转为表视图才能作为“添加连接”这个工具的“图层名称或表视图”参数。

    102454708.png

    展开全文
  • 实验内容1、基于Student_DB数据库的三个Student,Course,SC,进行如下的查询:(1) 查询每个学生及其选修课情况(使用自然连接)。select student.*,SC.* from student,SC where student.Sno=SC.Sno ...

    实验内容

    1、基于Student_DB数据库中的三个表StudentCourseSC进行如下的查询:

    (1) 查询每个学生及其选修课情况(使用自然连接)。

    select student.*,SC.* from student,SC where student.Sno=SC.Sno

     

    (2) 查询每个学生的学号、姓名、选修的课程及成绩。

    Select sc.sno,sname,cno,grade from student,SC where SC.Sno=student.Sno


    select sc.sno,sname,cname,sc.cno,grade from student,SC,course where SC.Sno=student.Sno and Course.Cno=SC.Cno


    (3) 查询选修了2号课程且成绩在80分以上的学生姓名,年龄。

    select sname,sage from student,sc where SC.Cno='2' and grade>80 and SC.Sno=student.Sno

     

    (4) 查询选修了课程名为数学的学生学号和姓名。

    select sname,student.sno from SC,student,course where SC.Sno=student.Sno and Cname='数学'and SC.Cno=Course.Cno

     

    (5) 查询与李勇在同一个系学习的学生。(用IN嵌套实现)

    select * from student where Sdept in(select Sdept from student 

    where Sname='李勇')

     

    (6) 查询其它系中比信息系某一学生年龄大的学生姓名和年龄。(写出2种形式的查询语句)

    select sname,sage from Student where Sage>any

    (select Sage from student where Sdept='CS') 

    and Sdept<>'IS'

     

    select sname,sage from student 

    where sage>

    (select MAX(Sage) from Student where Sdept='IS') 

    and Sdept<>'IS'

     

    (7) 查询选修了课程1或者选修了课程2的学生。(写出2种形式的查询语句)

    select sno from SC 

    where Cno='1' union select sno

    from sc where cno='2'

     

    select sno from SC 

    where Cno='2' union select sno

    from sc where cno='1'

     

    (8) 查询没有选修2号课程的学生姓名

    select sname from Student 

    where not exists 

    (select * from SC where SC.Sno=Student.Sno and Cno='2')

     

    (9) 查询选修课程1的学生集合与选修课程2的学生集合的交集

    select sno from SC 

    where Cno='1' intersect select sno from SC where Cno='2'

     

    select sno from SC where Cno='1' and 

    Sno in(select Sno from SC where Cno='2')

     

    (10) 查询信息系的学生与年龄不大于19岁的学生的差集。

    select * from Student where Sdept='CS'

    except select * from Student where Sage<=19

     

    2、用SQL语句实现Student_DB数据库中数据表的更新(给出查询语句或截图):

    1删除信息系(IS)所有学生的选课记录。

    delete from SC where Sno=any

    (select Sno from student where Sdept='IS')

     

    (2)修改Cno1的记录的课程名为数据库原理及应用

    update Course set Cname ='数据库原理及应用'

    where Cno='1'

     

     

     

    (3)将信息系全体学生的成绩改为80

    update SC set Grade ='80'

    where Sno =any(

    select Sno from Student

    where Sdept ='IS')

     

    (4)删除姓名为张立的学生记录。

    delete from Student 

    where Sname ='张立'

     

     

     

    (5)添加学生记录,姓名为张立,学号为200215125,性别为男,年龄19,院系为信息系(IS)。

    insert into Student(Sname,Sno,Ssex,Sage,Sdept)

    values('张立','201215125','','19','IS')

     

     


    6使用SQL增加一条记录到course表中,增加的记录内容如下:

    ’9’,’数据挖掘’,’1’,5

    insert into Course(Cno,Cname,Cpno,Ccredit)

    values('9','数据挖掘','1','5')

     


     

    3、用SQL语句建立视图并对视图做相应的操作:

    1)建立计算机系学生的视图CS_View(视图中包含学生表中所有属性),并要求进行修改和插入操作时仍须保证该视图只有计算机系的学生。

    create view CS_View

    AS select * from Student

    where Sdept='CS'

     

    select * from CS_View

     

    (2)建立计算机系选修了’3’号课程且成绩在90分以下的学生视图CS_SC_View,并对此视图进行查询。

    create view CS_SC_View 

    (Sno,Sname,Ssex,Sage,Sdept,Cno,Grade)

    AS select CS_View.Sno,Sname,Ssex,Sage,Sdept,Cno,Grade

    from CS_View,SC

    where CS_View.Sno=sc.sno and grade <90 and Cno='3'

     

    select * from CS_SC_View

     

    (3)将学生的学号和平均成绩定义为一个视图。

    create view sno_avg(Sno,aveGrade)

    AS select Sno,AVG(Grade)

    from SC

    group by Sno

     

    select * from sno_avg

     

    (4)利用所建立的视图,查询选修了2号课程的计算机系的学生。

    select *

    from CS_View,SC

    where CS_View.Sno=SC.Sno and Cno='2'

     

    (5)将视图CS_View中学号为201215122的学生姓名改为刘留”,并查看Student表中此学生姓名是否有变化,如有变化请说明原因

    update CS_View

    set Sname='刘留'

    where Sno=201215122

     

    select * from CS_View

     

    (6)向视图CS_View中插入一条新的学生记录,其中学号为201215126,姓名为李三,年龄为20岁,院系为IS,若未能执行成功,则分析下执行结果。

    insert into CS_View(Sno,Sname,Sage,Sdept)

    values('201215126','李三',20,'IS')

     

    select * from CS_View

    select * from student

     

    CS_View中是仅包含信息系的学生的信息,当前插入的身份不符合该视图的要求,因此插入失败。

     

    (7)将视图CS_View中学号为201215121的学生院系改为IS,查看Student表中此学生院系是否发生变化。 然后删除视图CS_View中学号为201215121的记录,并查看Student表中此学生是否被删除,如被删除请说明原因。

    update CS_View

    set Sdept='IS'

    where Sno = 201215121

     

    select * from CS_View

    select * from Student

     

    delete

    from CS_View

    where sno = '201215121'

     

    select * from CS_View

    select * from Student

     

    在执行更改操作时,由于IS系不符合CS_View视图的要求,因此更改后自动清除该记录。

    删除记录在视图中无法操作,由于视图中不包含相关的记录,但在Student表中含有该条记录,因此转换为对Student表的操作。



    展开全文
  • MYSQL存在三种虚拟:临时、内存视图 1、基本 基本是本身独立存在的SQL中一个关系就对应一个。 2、中间 中间它主要是用来兼容数据,建立映射关系,来兼容新老数据表数据。一般是实体...
  • P:客户端想数据中编辑时提示下列错误: 数据视图由于下列一个或多个原因,无法数据表视图中显示该列表: 没有安装与 Windows SharePoint Services 兼容的数据组件,浏览器不支持 ActiveX 控件,或者禁用了对 ...
  • Oracle之数据字典、空间、的操作、视图
  • 一,Hive的数据存储1,基于HDFS2,没有专门的数据存储格式3,存储结构主要包括:数据库,文件,视图4,可以直接加载文本文件(.txt文件等)5,创建表示,指定Hive数据的列分隔符与行分隔符二,Hive的数据模型1,...
  • 如果视图只来源于一张可以直接对视图进行update操作; 创建视图: CREATE OR REPLACE VIEW v_payment_info_status AS SELECT * from t_payment_info_status ;//支付状态 视图创建成功后可以通过:SELECT ...
  • 视图是从一个或者多个表中导出的,它的行为与非常相似,但是视图是一个虚拟,它可以把非常复杂的查询变成一个简单的视图对象,然后便于我们实际业务开发。 创建视图 create view 视图名 as 查询语句 ...
  • 数据更新与视图

    千次阅读 2016-10-08 13:34:00
    数据更新与视图
  • ->工具----》导出用户对象(可以导出结构和序列、视图)ps:如果上面不选中"包括所有者",这样到导出的结构等就不包含所有者,这样就可以将A所有者的结构等导入到B所有者的空间2、导出结构和表数据:...
  • MySQL创建表视图及多表视图

    千次阅读 2020-09-25 14:02:02
    ,但视图并不实际存在于数据库,而是你使用的时候去动态的查询,view的行和列都是基于你使用view的时候动态的去查询数据而生成视图 数据库只存view的定义并没有存放view的数据 你使用视图(view)时,数据库会...
  • 本节包含的详细练习将引导您完成与在数据视图中生成一些常用图表类型有关的步骤。所有练习都使用 Tableau Desktop 附带的 “Sample - Superstore” 数据源。为堆叠条添加合计将合计添加到图表中条形的顶部有时就像...
  • 第一:导出数据建表语句,存储过程,视图等打开plsql,如图,点击工具————导出用户对象 ...如图所示: 如图勾选即可。...导出的文件格式为dmp、导出的内容包含建表语句,以及表中数据如何将导出
  • 1.问题描述:echarts弹框嵌入echarts,页面数据改变时,echarts视图不更新;...参考了一下网上的一些资料,发现可以用vue的watch()函数来监听数据的更新,一旦数据更新了,那么就watch()函数调用dra...
  • 有3个订单,我用UNION把它们连为一个视图了,现在根据订单编号查询视图可以获得想要的数据,但是要修改数据还要判断来自哪个,请数据库大神们相助
  • 删除数据遇到视图不存在

    千次阅读 2016-08-12 20:27:53
    rename一张的时候提示不能重命名,网上查说是删掉相关的物化视图, 语句是drop materialized view log on ...后来删除数据被提示视图不存在,查了很多原因,尝试着清了相关物化视图,居然奏效,此记录下
  • Oracle常用数据字典(系统或系统视图)及查询...数据字典系统,保存system空间。查询所有数据字典可用语句“select * from dictionary;”。数据字典分类数据字典主要可分为四部分:1)内部RDBMS:x$*...
  • SQL中视图的区别与联系

    千次阅读 2018-07-11 14:35:46
    区别:1、视图是已经编译好的sql语句,而...视图是外模式6、视图是查看数据表的一种方法,可以查询数据表中某些字段构成的数据,只是一些SQL语句的集合。从安全的角度说,视图可以不给用户接触数据表,从而不知...
  • MySQL上创建视图

    千次阅读 2017-07-29 23:37:16
    向student表中,插入数据查看表中数据创建student视图使用视图可以看出,视图创建成功 并且,重新定义了一个计算数据和语文成绩之和的math+chinese字段默认情况下,创建的视图字段名称和基本的字段名是一样的...
  • SQL中数据查询及视图

    千次阅读 多人点赞 2020-04-07 17:14:03
    数据查询 语句格式 SELECT [ALL|DISTINCT] <目标列表达式>[,<目标列表达式>] … FROM <表名或视图名>[,<表名或视图名> ]…|(SELECT 语句) [AS]<别名> [ WHERE <条件表达式> ] ...
  • MySQL上创建视图

    万次阅读 2017-07-29 23:40:43
    首先,创建stu_info,并向表中插入数据查看表中数据创建stu_class视图查看视图可以看出,创建的视图包含id、name和class字段 其中,id字段对应student表中的s_id字段,name字段对应student表中的name字段,
  • ORACLE的数据字典和动态性能视图

    千次阅读 2016-07-25 22:52:48
    Oracle提供了大量的内部,它们记录了数据库对象的更改和修正。可以将这些内部划分为两种主要类型:静态的数据字典和动态的性能。这些内部是由oracle维护的,可以说它们是只读。用户包括sys都不能修改。
  • 在视图中检索信息与从基表中检索信息方法完全相同注意:视图不存在数据,算是个虚,视图只会访问基表的行适用于:检查检索数据 优点: 限制用户只能通过视图检索数据,使用户看不到底层基表 将复杂查询编写为...
  • 1. 向视图插入数据的时候分两种情况1.1 对于简单视图视图建立一张上),跟一样直接插入数据就好;1.2 对于复杂视图视图建立时包含多关联、分组、聚合函数),这个时候不能直接插入数据,应该创建一个 ...
  • Oralce静态数据字典目录,为采集前获取上游Oralce系统结构做准备

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 876,325
精华内容 350,530
关键字:

在表的数据表视图中可以