为SQLServer创建视图

实验环境:


两个数据表,Info_Sort_table(文章类别表)、Info_Content_table(文章内容表)。两个数据表的数据结构如下:


Info_Sort_table(文章类别表)

字段名称 字段类型 字段含义
ID int4 类别的ID号(主键)
SortName varchar20 类别名称

 

为SQLServer创建视图

类别表

 

Info_Content_table(文章内容表)

字段名称 字段类型 字段含义
ID int4 文章的ID号(主键)
WZBT varchar50 文章标题
FBR varchar20 发表人
WZLY varchar30 文章来源
FBSJ varchar20 发表时间(只用作记录使用,故用字符型自段)
WZNR ntext16 文章内容
YDCS int4 阅读次数
SSLB int4 所属类别(记录的是Info_Sort_table里的ID值)

 

为SQLServer创建视图

文章表

 

下面把这两个表联合起来做个视图
首先按照下图的显示选择新建视图菜单

为SQLServer创建视图
在新建视图的界面中添加两个表Info_Sort_table和Info_Content_table,

为SQLServer创建视图
    选择要输入的字段,如果需要为输出字段添加别名,在别名中输入要输出的字段别名,同时可以选择字段的排列顺序,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语句,为此视图命名保存后退出。

为SQLServer创建视图 

打开试图,选择返回所有行,察看返回的结果:

为SQLServer创建视图 

生成视图的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

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值