精华内容
下载资源
问答
  • 在sql中删除视图用什么
    千次阅读
    2021-02-08 03:51:58

    如果你那个视图,是 单表的, 没写 触发器的。

    那么 如果 删除视图中的数据 成功了,那么 表中的数据 就被删除了。

    如果那个视图, 写了个 INSTEAD OF 触发器. 但是里面没有任何删除的动作。

    那么 可能你 DELETE FROM 视图, 最后表的数据,一点也没变化, 也是可以的。

    1> CREATE VIEW v_main_sub AS

    2> SELECT

    3> test_main.id AS main_id,

    4> test_main.value AS main_value,

    5> test_sub.id AS sub_id,

    6> test_sub.value AS sub_value

    7> FROM

    8> test_main, test_sub

    9> WHERE

    10> test_main.id = test_sub.main_id;

    11> go

    1> SELECT * FROM v_main_sub;

    2> go

    main_id main_value sub_id sub_value

    ----------- ---------- ----------- ----------

    1 ONE 1 ONEONE

    2 TWO 2 TWOTWO

    (2 行受影响)

    1> UPDATE v_main_sub

    2> SET main_value='ONX'

    3> WHERE main_id = 1;

    4> go

    (1 行受影响)

    1> UPDATE v_main_sub

    2> SET sub_value='ONXONX'

    3> WHERE main_id = 1;

    4> go

    (1 行受影响)

    1> DELETE FROM v_main_sub WHERE main_id = 1;

    2> go

    消息 4405,级别 16,状态 1,服务器 GMJ-PC\SQLEXPRESS,第 1 行

    视图或函数 'v_main_sub' 不可更新,因为修改会影响多个基表。

    1> CREATE TRIGGER v_main_sub_trigger

    2> ON v_main_sub

    3> INSTEAD OF DELETE

    4> AS

    5> DECLARE

    6> @main_id INT,

    7> @sub_id INT;

    8> BEGIN

    9> SELECT @main_id=main_id, @sub_id=sub_id FROM deleted;

    10>

    11>

    12> PRINT(@main_id);

    13> PRINT(@sub_id);

    14> END;

    15> go

    1> DELETE FROM v_main_sub WHERE main_id = 1;

    2> go

    1

    1

    (1 行受影响)

    1> DELETE FROM v_main_sub WHERE sub_id = 1;

    2> go

    1

    1

    (1 行受影响)

    对于多表关联的视图, 删除的时候,需要人为的去判断

    例如当 主表 和 子表,都只有一条记录的情况下。

    无法判断 本次删除, 是要删除掉一个子表的记录,留下主表的。

    还是 主表 子表的数据,一同删除。

    取消

    评论

    更多相关内容
  • 主要介绍了SQL 如何如何创建、更新和删除视图,文中讲解非常详细,示例代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下
  • 视图中的字段就是来自一个或多个数据库中的真实的表中的字段。 假设已经通过create从表s中,创建视图,只显示学号、姓名、性别和院系共4列。 create view view_s as ( select s.sno as 学号, s.sn as 姓名, s.sex ...
  • 删除视图sql语句是什么

    千次阅读 2021-02-04 23:55:43
    删除视图sql语句是“DROP VIEW”,具体格式为“DROP VIEW [ , …]”。“DROP VIEW”语句可以一次删除多个视图,但是必须每个视图上拥有DROP权限。本教程操作环境:windows7系统、mysql8版本、Dell G3电脑。删除...

    删除视图的sql语句是“DROP VIEW”,具体格式为“DROP VIEW [ , …]”。“DROP VIEW”语句可以一次删除多个视图,但是必须在每个视图上拥有DROP权限。

    a4d516962e157dc13b92c4f61862bfc5.png

    本教程操作环境:windows7系统、mysql8版本、Dell G3电脑。

    删除视图是指删除 MySQL 数据库中已存在的视图。删除视图时,只能删除视图的定义,不会删除数据。

    可以使用 DROP VIEW 语句来删除视图。

    语法格式如下:DROP VIEW [ , …]

    其中:指定要删除的视图名。DROP VIEW 语句可以一次删除多个视图,但是必须在每个视图上拥有 DROP 权限。

    示例:删除 students_info 视图mysql> DROP VIEW IF EXISTS students_info;

    Query OK, 0 rows affected (0.00 sec)

    mysql> SHOW CREATE VIEW students_info;

    ERROR 1146 (42S02): Table 'test_db.students_info' doesn't exist

    可以看到,students_info 视图已不存在,将其成功删除。

    更多计算机编程相关知识,请访问:编程入门!!

    展开全文
  • 文章目录1 视图概述2 创建视图3 修改视图4 删除视图 1 视图概述 视图就是将一个或多个表的目标字段抽取出来形成的一个虚拟表。这个虚拟表和真实的表具有相同的功能。 2 创建视图 语法格式: create view view_name...

    1 视图概述

    视图就是将一个或多个表中的目标字段抽取出来形成的一个虚拟表。这个虚拟表和真实的表具有相同的功能。
    视图的主要作用:
    (1)简化数据操作
    可以只将有用的数据展示给用户以供处理,而不用关心数据表中的结构,这样简化了数据处理的复杂性。
    (2)安全访问机制
    视图可以对用户访问的数据资源进行限定,可以控制用户对某些数据行或某些数据列进行操作。
    (3)降低查询语句的复杂性
    视图可以简化复杂查询的逻辑结构,将查询语句化繁为简。

    2 创建视图

    语法格式:
    create view view_name as select 字段 from tb1 [WITH CHECK OPTION]

    注意:
    (1)如果加上WITH CHECK OPTION,则基于视图的更新和新增操作必须满足查询条件
    (2)任意的SELECT语句,但是有些限制,如:不能使用INTO子句;不能在临时表或表变量上创建视图;只能在有Top *的查询中才能使用order by 等。

    create view v_id_name 
    as select departid,name from files
    

    在这里插入图片描述
    注:
    files表的建表语句,如下:

    create table files(
    userid int primary key identity,
    departid int null,
    postname nvarchar(50) null,
    duty nvarchar(50) null,
    name nvarchar(50) null,
    sex nvarchar(50) null,
    email nvarchar(50) null,
    tel nvarchar(50) null,
    qq nvarchar(50) null,
    phone nvarchar(50) null,
    address nvarchar(50) null
    )
    

    files表的插入数据语句如下:

    insert into files
    values
    (2,'干部','高级','李晓玉','女','LIXIAOYU@qq.com','010-5888888','123333','131212121','北京'),
    (5,'工人','中级','张明明','男','ZHANGMINGMING@qq.com','010-123123','8975675','137123671','北京'),
    (5,'工人','中级','王静','女','WANGJIN@qq.com','010-2131233','123123345','13712123123','北京'),
    (1,'干部','中级','张山','男','ZHANGSHAN@qq.com','010-122134','2613786','13718912367','哈尔滨')
    
    
    insert into files
    (departid,name)
    values
    (1,'小红'),
    (1,'小白'),
    (1,'小蓝'),
    (2,'大红'),
    (2,'李静'),
    (3,'张三')
    
    
    insert into files 
    (departid,postname,name,sex)
    values
    (3,'工人','小明','男');
    

    在这里插入图片描述
    建立files表男生的视图,并要求进行修改和插入操作时只对files表男生的信息进行操作,语句如下:

    create view v_sex_m
    as select departid,name,sex from files
    where sex='男'
    with check option
    
    select * from v_sex_m
    

    在这里插入图片描述
    向v_sex_m视图插入departid为1,名字为小红红,性别为女的记录

    insert into v_sex_m
    values
    (1,'小红红','女')
    

    在这里插入图片描述
    分析:
    加上 with check option,则基于视图的更新和新增操作必须满足查询条件,where sex=‘男’,所以无法插入性别为女的记录。

    3 查询视图

    在sql server图形化界面和查询语句中,视图都可以当成普通表使用。

    select * from v_sex_m
    

    在这里插入图片描述

    4 修改视图

    语法格式:
    ALTER VIEW view_name 字段 [ WITH ENCRYPTION]
    AS 查询语句 [ WITH CHECK OPTION ]

    alter view v_sex_m
    as 
    select top 1 name from v_sex_m
    

    5 删除视图

    语法格式:
    drop view view_name

    drop view v_sex_m
    

    总结

    1 视图就是虚拟表。基表中的数据发生变化,从视图中查询出的数据也随之改变。
    2 创建视图。加上with check option,则基于视图的更新和新增操作必须满足查询条件。
    3 查询视图。视图都可以当成普通表使用。
    4 删除视图。语法格式:drop view view_name。

    展开全文
  • 使用SQL Server索引视图时变通解决问题。
  • 目的是通过企业管理器和Transact_SQL语句对视图进行创建、修改和删除通过企业管理器。希望本文档会给有需要的朋友带来帮助;感兴趣的朋友可以过来看看。资源截图: 资源太大,传百度网盘了,链接附件,有需要的...
  • 删除视图: 方式2-SQL语句: 创建视图:  查看视图中的数据: 修改视图: 删除视图: 方式1-图形用户界面: 新建视图: 保存视图: 刷新视图节点: 查看视图:  维护视图: 删除视图: 方式2-SQL语句...
  • SQL相关资料
  • 如何在SQL Server创建视图

    千次阅读 2020-07-25 22:30:11
    In this article, we will learn the basics of the view concept in SQL Server and then explore methods to create a view in SQL using T-SQL and SQL Server Management ... 本文,我们将学习SQL Se...

    In this article, we will learn the basics of the view concept in SQL Server and then explore methods to create a view in SQL using T-SQL and SQL Server Management Studio.

    在本文中,我们将学习SQL Server中视图概念的基础知识,然后探索使用T-SQL和SQL Server Management Studio在SQL中创建视图的方法。

    定义 (Definition)

    Most of the time, views can be defined as “virtual or logical” tables, but if we expand this basic definition we can understand the views more clearly. A view is a query that is stored in the database and returns the result set of the query in which it is defined. The query that defines the view can be composed of one or more tables. A view returns column or columns of the query in which it is referenced. However, we need to underline a significant point about the views, a simple view never stores data, merely it fetches the results of the query in which it is defined.

    在大多数情况下,视图可以定义为“虚拟或逻辑”表,但是如果我们扩展此基本定义,我们可以更清楚地理解视图。 视图是存储在数据库中的查询,并返回定义查询的结果集。 定义视图的查询可以由一个或多个表组成。 视图返回引用它的查询的一个或多个列。 但是,我们需要在视图上强调一个重点,一个简单的视图永远不会存储数据,只是它会获取定义了它的查询的结果。

    Query simplicity is the main advantage that comes first to our minds related to the views. We can encapsulate the complex query scripts into views so that we can use the views instead of the complex query codes. On the other hand, views can provide us to handle security issues. Each user can be granted authorization to see specific data through the views so we don’t have to struggle to give permissions to users for multiple-tables.

    查询简单是与视图相关的首要优势。 我们可以复杂的查询脚本封装到视图中,以便我们可以使用视图代替复杂的查询代码。 另一方面,视图可以为我们提供处理安全问题的方法。 可以授予每个用户通过视图查看特定数据的权限,因此我们不必费心为多个表授予用户权限。

    如何在SQL中使用单个表创建视图 (How to create a view in SQL with a single table)

    In this section, we will learn the syntax of the views. The following statement defines the syntax of a view:

    在本节中,我们将学习视图的语法。 以下语句定义了视图的语法:

    CREATE VIEW view_name AS
    SELECT column1, column2, ...
    FROM table_name
    WHERE condition;
    

    At first, we need to specify the CREATE VIEW statement and then we have to give a name to the view. In the second step, we define the SELECT statement after the AS keyword. The following example will create a view that will be named as VProductSpecialList. VProductSpecialList view fetches data from the Product table and it only returns the ProductID, Name and ProductNumber columns of the Product table:

    首先,我们需要指定CREATE VIEW语句,然后必须给视图命名。 在第二步中,我们在AS关键字之后定义SELECT语句。 下面的示例将创建一个名为VProductSpecialList的视图。 VProductSpecialList视图从产品表获取数据,它只是返回的产品ID, 产品表的名称ProductNumber列:

    CREATE VIEW VProductSpecialList
    AS
    select p.ProductID AS [ProductIdNumber] , 
    p.Name AS [ProductName],
    p.ProductNumber [ProductMainNumber] from [Production].[Product] p 
         
        WHERE ProductID >900
    

    After the creation of the view, we can retrieve data using a simple SELECT statement. The following example shows how to fetch data from the VProductSpecialList view:

    创建视图后,我们可以使用简单的SELECT语句检索数据。 以下示例显示如何从VProductSpecialList视图获取数据:

    SELECT * FROM VProductSpecialList
    

    Create a view in SQL for a singe table

    As you can see above, the column names have been replaced with aliases which are defined in the query definition of the view. In addition, the data which is fetched by the view is filtered according to the criteria of the WHERE statement.

    如您在上方所见,列名已替换为在视图的查询定义中定义的别名。 此外,根据WHERE语句的条件过滤由视图获取的数据。

    For the different circumstances, we may need some particular columns of the view for this we can only use these column names in the SELECT statement:

    对于不同的情况,为此我们可能需要视图的某些特定列,因此我们只能在SELECT语句中使用这些列名称:

    SELECT ProductIdNumber,ProductName FROM VProductSpecialList
    

    How to retrieve data from a view in SQL?

    如何在SQL中使用多表创建视图 (How to create a view in SQL with multiple-tables)

    In the previous example, we created a view for a single table but we can also create a view for joined multiple tables. In the following example, we will achieve this idea:

    在上一个示例中,我们为单个表创建了一个视图,但是我们也可以为联接的多个表创建一个视图。 在以下示例中,我们将实现此想法:

    CREATE VIEW VProductDetailList
    AS
    select p.ProductID AS [ProductIdNumber] , 
    p.Name AS [ProductName],
    p.ProductNumber [ProductMainNumber],
    pm.Name as [ProductModelName]  from [Production].[Product] p 
        INNER JOIN [Production].[ProductModel] pm 
        ON p.[ProductModelID] = pm.[ProductModelID] 
        WHERE ProductID >900
        GO
        
    SELECT * FROM VProductDetailList WHERE ProductModelName='LL Mountain Frame'
    

    Create a view in SQL for a multiple table

    The above example demonstrated how to create a view from multiple tables and then we saw, how we fetch data from this view and we also filtered fetched data of the VProductDetailList view.

    上面的示例演示了如何从多个表创建视图,然后我们看到了如何从该视图中获取数据,并且还过滤了VProductDetailList视图的获取数据。

    如何通过SSMS在SQL中创建视图 (How to create a view in SQL via SSMS)

    SQL Server Management Studio AKA SSMS is the most popular and powerful tool to manage, configure, administer and do other uncountable operations in SQL Server. So, we can create a view through SSMS.

    SQL Server Management Studio AKA SSMS是用于管理,配置,管理和执行SQL Server中其他不可数操作的最流行,功能最强大的工具。 因此,我们可以通过SSMS创建视图。

    We will launch SSMS and login the database with any user who granted to create a view. Expand the database in which we want to create a view. Then right-click on the Views folder and choose the New View option:

    我们将启动SSMS并使用任何有权创建视图的用户登录数据库。 展开我们要在其中创建视图的数据库。 然后右键单击“ 视图”文件夹,然后选择“ 新建视图”选项:

    Create a view in SQL via SSMS

    The Add Table dialog appears on the screen. On this screen, we will find and then select the Product and ProductModel tables and click Add:

    屏幕上将出现“ 添加表”对话框。 在此屏幕上,我们将找到然后选择ProductProductModel表,然后单击Add

    Add tables for view in SQL Server Management Studio

    The relations between the tables are automatically detected and created by SSMS and at the same time, the view query will be generated in the query tab automatically:

    由SSMS自动检测和创建表之间的关系,同时,将在查询选项卡中自动生成视图查询:

    Column options of the view in SSMS

    In this step, we will check in the necessary columns for the view. If we want to select all column names of the table we can check in the * (All Columns) option. We will check in ProductId, Name, ProductNumber columns in the Production table and Name column in ProductModel table. We can observe the query changing when we check in the names of the columns in tables:

    在此步骤中,我们将检查视图的必要列。 如果要选择表的所有列名,可以在*(所有列)选项中进行检查。 我们将检入Production表中的ProductIdNameProductNumber列和ProductModel表的Name列。 当我们检查表中列的名称时,我们可以观察到查询的变化:

    Query options of the view in SSMS

    We will set aliases of the columns:

    我们将设置列的别名:

    Setting the alias options of the columns to view

    We will set the filter criteria and it will be automatically added into the WHERE condition of the query:

    我们将设置过滤条件,并将其自动添加到查询的WHERE条件中:

    Setting the filter options of the view in SSMS

    We can right-click in the table panel so that we can execute the view. The result data shows at the bottom of the screen:

    我们可以在表格面板中单击鼠标右键,以便执行视图。 结果数据显示在屏幕底部:

    Execute the view in SSMS

    Finally, we will press CTRL+S keys in order to save the view and give a name to the view and click OK:

    最后,我们将按CTRL + S键以保存视图并为视图命名,然后单击OK

    Save the view in SSMS

    The created view can be found under the Views folder:

    可以在“ 视图”文件夹下找到创建的视图:

    Monitoring the view of the database

    如何在SQL中删除视图 (How to drop a view in SQL)

    In order to delete a view in a database, we can use the DROP VIEW statement. However, the DROP VIEW statement may return an error if the view we want to delete do not exists in the database. To overcome this issue, we can use the IF EXISTS keyword with the DROP VIEW statement. The following script deletes the vProductSpecialList from the database:

    为了删除数据库中的视图,我们可以使用DROP VIEW语句。 但是,如果我们要删除的视图在数据库中不存在,则DROP VIEW语句可能会返回错误。 为了克服这个问题,我们可以将IF EXISTS关键字与DROP VIEW语句一起使用。 以下脚本从数据库中删除vProductSpecialList

    DROP VIEW IF EXISTS [VProductSpecialList]
    

    结论 (Conclusion)

    In this article, we explored the view notion in SQL and then we learned how to create a view in SQL with two different methods. In the first one, we used the T-SQL method and the second one we used SQL Server Management Studio.

    在本文中,我们探讨了SQL中的视图概念,然后学习了如何使用两种不同的方法在SQL中创建视图。 在第一个中,我们使用T-SQL方法,第二个中,我们使用SQL Server Management Studio。

    翻译自: https://www.sqlshack.com/how-to-create-a-view-in-sql-server/

    展开全文
  • Sql server 如何用sql语句创建视图

    千次阅读 2021-04-06 17:58:23
    实际过程,公司有不同角色的工作人员,我们以销售公司为例的话, 采购人员,可以需要一些与其有关的数据,而与他无关的数据,对他没 有任何意义,我们可以根据这一实际情况,专门为采购人员创建一个视 图,...
  • sqlsever视图创建与删除
  • 那么 如果 删除视图中的数据 成功了,那么 表中的数据 就被删除了。如果那个视图, 写了个 INSTEAD OF 触发器. 但是里面没有任何删除的动作。那么 可能你 DELETE FROM 视图, 最后表的数据,一点也没变化, 也是可以...
  • Sql Server视图介绍

    2020-09-10 11:04:03
    主要介绍了Sql Server视图介绍,本文讲解了视图的定义、视图的作用、创建视图实例、删除修改视图等内容,需要的朋友可以参考下
  • 实际过程,公司有不同角色的工作人员,我们以销售公司为例的话, 采购人员,可以需要一些与其有关的数据,而与他无关的数据,对他没 有任何意义,我们可以根据这一实际情况,专门为采购人员创建一个视 图,以后...
  • sql 视图嵌套视图_SQL视图

    千次阅读 2020-08-03 03:06:37
    sql 视图嵌套视图 SQL | 观看次数 (SQL | Views) Views in SQL are virtual tables. A view also has rows and columns as they're during a real table within the database. We will create a view by selecting ...
  • SQL Server 视图

    千次阅读 2021-11-24 20:02:15
    SQL Server 视图
  • SQL Server 数据库之视图

    千次阅读 2022-03-17 17:07:08
    MySQL 数据库之视图 视图的增删查改操作介绍
  • 视图的使用1>视图的创建(1)使用图文创建视图(2)使用T-SQL创建视图2> 删除视图使用T-SQL删除3>视图注意事项二.存储过程1.存储过程概念:2.存储过程分类1>系统存储过程2>自定义存储过程3>扩展存储过程3.调用存储过程4....
  • sql在视图中如何插入新的数据?

    千次阅读 2021-01-26 22:47:44
    展开全部对于 单表的视图, 插入/修改 数据是没有问题的。 (只要你不做特别的设32313133353236313431303231363533e59b9ee7ad9431333365653330置)对于多表的视图, 操作的时候,会存在一定的问题。下面是一个例子:1&...
  • SQLServer之删除视图

    千次阅读 2018-10-30 11:25:29
    删除视图时,将从系统目录中删除视图的定义和有关视图的其他信息。 还将删除视图的所有权限。 使用 DROP TABLE 删除的表上的任何视图都必须使用 DROP VIEW 显式删除。 对索引视图执行 DROP VIEW 时,将自动删除...
  • --删除视图 --删除视图只是删除视图的定义,并不会删除基表的数据。 --只有视图所有者和具备DROP VIEW权限的用户可以删除视图。 --视图被删除后,基于被删除的其他视图或应用无效。 ...
  • SQL 视图的概念

    千次阅读 2021-10-25 16:07:45
    视图是一张虚拟表,但这个表不存储数据,虚拟的表。 作用:可以将重复、多次使用的查询语句封装到视图里面, 以供多次使用。方便使用。 视图直接当成表来使用就可以, 可以写where条件,也可以参与跟其他表的关联...
  • SQL中数据查询及视图

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

    2020-12-14 13:35:05
    MySQL视图创建视图查看视图使用视图作用修改视图删除视图视图内数据操作1.新增数据2.删除数据3.更新数据 视图:view,是一种有结构(有行有列)但是没结果(结构不真实存放数据)的虚拟表. 创建视图 Create view 视图...
  • SQL Server 数据库之视图(二)

    千次阅读 2022-04-04 21:29:36
    视图(二)1. 查询视图信息1.1 查询和视图设计工具 1. 查询视图信息 1.1 查询和视图设计工具 打开视图的定义、显示查询视图的结果
  • sql——创建视图和索引

    千次阅读 2021-09-13 15:44:35
    1、使用视图 创建视图:给BILLS表创建视图。创建的视图实际上是一个虚表。 CREATE VIEW DEBTS AS SELECT * FROM BILLS;...可以从表挑选特定的列创建视图。 2、列的重命名 视图继承了已有列的名字,此外视
  • SQL server视图的使用

    千次阅读 2022-03-17 14:56:20
    在SQL server 查询,我们会把经常会会用到的查询语句保存到了数据库的某一目录表下(视图),然后可以使用类似于表的查询来查询该视图 。 创建视图也遵循一定的命名规范,易于区分表和视图,比如v_viewnam

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 200,816
精华内容 80,326
热门标签
关键字:

在sql中删除视图用什么