为SQLServer创建视图
2013-09-03 14:28
211 查看
实验环境:
两个数据表,Info_Sort_table(文章类别表)、Info_Content_table(文章内容表)。两个数据表的数据结构如下:
Info_Sort_table(文章类别表)
![](http://img.blog.csdn.net/20130903143754531?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGVmdGVyMTk4Ng==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
类别表
Info_Content_table(文章内容表)
![](http://img.blog.csdn.net/20130903143833171?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGVmdGVyMTk4Ng==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
文章表
下面把这两个表联合起来做个视图
首先按照下图的显示选择新建视图菜单
![](http://img.blog.csdn.net/20130903143757671?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGVmdGVyMTk4Ng==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
在新建视图的界面中添加两个表Info_Sort_table和Info_Content_table,
![](http://img.blog.csdn.net/20130903143929937?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGVmdGVyMTk4Ng==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
选择要输入的字段,如果需要为输出字段添加别名,在别名中输入要输出的字段别名,同时可以选择字段的排列顺序,ASC(顺序)或者DESC(降序)。关联的条件为Info_Content_table.SSLB=Info_Sort_table.ID(文章内容表中的所属类别字段值等于类别表中的ID值),生成的SQL语句如下:
SQL语句:
SELECT TOP 100 PERCENT dbo.Info_Content_table.ID AS ID,
dbo.Info_Content_table.WZBT AS 文章标题, dbo.Info_Content_table.FBR AS 发表人,
dbo.Info_Content_table.WZLY AS 文章来源,
dbo.Info_Content_table.FBSJ AS 发表时间,
dbo.Info_Content_table.WZNR AS 文章内容,
dbo.Info_Content_table.YDCS AS 阅读次数,
dbo.Info_Sort_table.SortName AS 所属类别
FROM dbo.Info_Content_table INNER JOIN
dbo.Info_Sort_table ON dbo.Info_Content_table.SSLB = dbo.Info_Sort_table.ID
ORDER BY dbo.Info_Content_table.ID DESC
执行这段SQL语句,为此视图命名保存后退出。
![](http://img.blog.csdn.net/20130903143847578?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGVmdGVyMTk4Ng==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
打开试图,选择返回所有行,察看返回的结果:
![](http://img.blog.csdn.net/20130903144013281?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGVmdGVyMTk4Ng==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
生成视图的SQL语句:
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Info_Content_view]') and OBJECTPROPERTY(id, N'IsView') = 1)
drop view [dbo].[Info_Content_view]
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
CREATE VIEW dbo.Info_Content_view
AS
SELECT TOP 100 PERCENT dbo.Info_Content_table.ID AS ID,
dbo.Info_Content_table.WZBT AS 文章标题, dbo.Info_Content_table.FBR AS 发表人,
dbo.Info_Content_table.WZLY AS 文章来源,
dbo.Info_Content_table.FBSJ AS 发表时间,
dbo.Info_Content_table.WZNR AS 文章内容,
dbo.Info_Content_table.YDCS AS 阅读次数,
dbo.Info_Sort_table.SortName AS 所属类别
FROM dbo.Info_Content_table INNER JOIN
dbo.Info_Sort_table ON dbo.Info_Content_table.SSLB = dbo.Info_Sort_table.ID
ORDER BY dbo.Info_Content_table.ID DESC
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
两个数据表,Info_Sort_table(文章类别表)、Info_Content_table(文章内容表)。两个数据表的数据结构如下:
Info_Sort_table(文章类别表)
字段名称 | 字段类型 | 字段含义 |
ID | int4 | 类别的ID号(主键) |
SortName | varchar20 | 类别名称 |
类别表
Info_Content_table(文章内容表)
字段名称 | 字段类型 | 字段含义 |
ID | int4 | 文章的ID号(主键) |
WZBT | varchar50 | 文章标题 |
FBR | varchar20 | 发表人 |
WZLY | varchar30 | 文章来源 |
FBSJ | varchar20 | 发表时间(只用作记录使用,故用字符型自段) |
WZNR | ntext16 | 文章内容 |
YDCS | int4 | 阅读次数 |
SSLB | int4 | 所属类别(记录的是Info_Sort_table里的ID值) |
文章表
下面把这两个表联合起来做个视图
首先按照下图的显示选择新建视图菜单
在新建视图的界面中添加两个表Info_Sort_table和Info_Content_table,
选择要输入的字段,如果需要为输出字段添加别名,在别名中输入要输出的字段别名,同时可以选择字段的排列顺序,ASC(顺序)或者DESC(降序)。关联的条件为Info_Content_table.SSLB=Info_Sort_table.ID(文章内容表中的所属类别字段值等于类别表中的ID值),生成的SQL语句如下:
SQL语句:
SELECT TOP 100 PERCENT dbo.Info_Content_table.ID AS ID,
dbo.Info_Content_table.WZBT AS 文章标题, dbo.Info_Content_table.FBR AS 发表人,
dbo.Info_Content_table.WZLY AS 文章来源,
dbo.Info_Content_table.FBSJ AS 发表时间,
dbo.Info_Content_table.WZNR AS 文章内容,
dbo.Info_Content_table.YDCS AS 阅读次数,
dbo.Info_Sort_table.SortName AS 所属类别
FROM dbo.Info_Content_table INNER JOIN
dbo.Info_Sort_table ON dbo.Info_Content_table.SSLB = dbo.Info_Sort_table.ID
ORDER BY dbo.Info_Content_table.ID DESC
执行这段SQL语句,为此视图命名保存后退出。
打开试图,选择返回所有行,察看返回的结果:
生成视图的SQL语句:
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Info_Content_view]') and OBJECTPROPERTY(id, N'IsView') = 1)
drop view [dbo].[Info_Content_view]
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
CREATE VIEW dbo.Info_Content_view
AS
SELECT TOP 100 PERCENT dbo.Info_Content_table.ID AS ID,
dbo.Info_Content_table.WZBT AS 文章标题, dbo.Info_Content_table.FBR AS 发表人,
dbo.Info_Content_table.WZLY AS 文章来源,
dbo.Info_Content_table.FBSJ AS 发表时间,
dbo.Info_Content_table.WZNR AS 文章内容,
dbo.Info_Content_table.YDCS AS 阅读次数,
dbo.Info_Sort_table.SortName AS 所属类别
FROM dbo.Info_Content_table INNER JOIN
dbo.Info_Sort_table ON dbo.Info_Content_table.SSLB = dbo.Info_Sort_table.ID
ORDER BY dbo.Info_Content_table.ID DESC
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
相关文章推荐
- SQLserver中的视图与主外键的创建
- 无法对视图创建索引,因为该视图未绑定到架构 SQLServer
- SQLServer--使用T-SQL语句创建视图、删除视图、查看视图
- sqlserver 创建月表视图过程
- 视图的创建及使用(sqlserver 2000)
- SqlServer在视图上创建索引的条件
- SQLserver 在存储过程中创建函数,创建视图
- SqlServer创建用户只能访问视图
- SqlServer在视图上创建索引
- 在SQLSERVER中创建视图的一些注意事项
- (已解决)使用pl/sql的视图模式来创建sqlserver的dblink提示无法连接到“sa”
- SQLServer 动态sql创建指定数据库下的视图
- sqlserver 创建用户只能访问指定视图
- SQLServer视图创建自增列
- SqlServer在视图上创建索引的条件
- SQLServer创建视图
- sqlserver创建mysql的链接建立视图
- SQLServer创建用户、数据库、表、约束、存储过程、视图
- sqlserver 创建用户仅仅能訪问指定视图
- SQLServer--视图的创建与使用