对所学Sqlserver知识进行一下记录总结,某些用法之间还可以关联使用,欢迎补充和讨论。本人比较懒,结果的截图暂时就先不传了,什么时候想起来再说吧~~
视图其实理解起来很简单,就好像是把复杂的查询语句查询出来的数据封装到一个临时表里面(知识我自己的理解~~)
1.创建视图
我所知的有2-3中方法
其中一种,步骤是:右键视图->新建视图,此时会弹出一个窗体
在弹出的窗体中有两种方法创建视图,如图所示,选中创建视图要用到的数据表,然后然后...我很是不喜欢这么做,所以我是用的第二种方法
首先编辑好需求的查询语句,然后点击上图中的关闭,然后将写好的语句粘贴到 “SELECT FROM ” 这里即可
比如查询语句
SELECT ROW_NUMBER()OVER(ORDER BY Table_A.AID) AS ID,Table_B.BBB,Table_A.AAA FROM dbo.Table_B INNER JOIN dbo.Table_A ON Table_A.AID=Table_B.AID
将语句复制粘贴到下图所示,点击保存按钮(Ctrl+S)即可,注:语句后面可以根据需求写 WHERE 条件的,只是我省略了,多表关联后一般原表的主键基本就废掉了,所以我习惯用 ROW_NUMBER()OVER(ORDER BY ) 自定义一个当作主键。
还有一种创建视图的方法就是直接写语句
USE [test] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE VIEW [dbo].[V_Table_AB] AS SELECT ROW_NUMBER()OVER(ORDER BY Table_A.AID) AS ID,Table_B.BBB,Table_A.AAA FROM dbo.Table_B INNER JOIN dbo.Table_A ON Table_A.AID=Table_B.AID GO
效果和第一种方法是一样一样的
如果实在记不住语句怎么写,这里有个小提示,您按下面步骤操作即可:选中随便一个已经创建好的视图->右键->编写视图脚本->CREATE到->新建编辑窗口
这时,sql编辑器会新建一个页面,显示的就是新建视图的语句,只不过是和原视图相关的,您只要修改下 视图名称 和 实际您需求的语句,然后运行(F5)即可
查询视图时,语法和查询普通数据表是一模一样的,SELECT * FROM V_Table_AB WHERE ************
可以单视图查询,可以多视图联查,可以表+视图 联查,但是视图是不存在 增删改 的!!!
2.修改视图
修改视图我所熟悉的也是两种方法
第一种,右键要求改的视图->设计,此时会弹出与第一种方法新建视图时相同的页面,按需求修改后点击保存即可
第二种,右键要求改的视图->编写视图脚本->ALTER到->新建编辑窗口,和第二种新建视图一样,sql编辑器会新建一个页面,页面内的代码如下,直接修改语句然后执行即可。
USE [test] GO /****** Object: View [dbo].[V_Table_AB] ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER VIEW [dbo].[V_Table_AB] AS SELECT ROW_NUMBER()OVER(ORDER BY Table_A.AID) AS ID,Table_B.BBB,Table_A.AAA FROM dbo.Table_B INNER JOIN dbo.Table_A ON Table_A.AID=Table_B.AID GO
3.删除视图
这里就比较简单了,直接右键视图->删除 即可,删除的只是视图,和源表无关。
注:创建视图的语句中,也可以时查询其他的视图+表的关联,也就是说,多表联查可以是 表+表,也可以是 表+视图
标签:语句,dbo,AID,视图,server,Sql,GO,Table From: https://www.cnblogs.com/hlmxlx/p/17817842.html