打开“客户ABC销售一览表”,就会调用视图1,然后会弹出个选择的框,有三行可供选择:开始日期、结束日期、客户名称。
客户A、B、C这些数据量非常大,所以选择某一个客户时查找很慢,由于客户A的数据量也非常大,我现在想把客户A的数据建立在另外一个视图(客户A销售一览表),就是说视图中已经指定了是客户A,这样查找客户A也比较快,该怎样建立这个视图?是不是只能另外建立一个视图2,在视图1的基础上,里面添加一行where 客户=A,然后调用视图2?能不能在视图1中就能实现不输入客户名称,点击“客户A销售一览表”的时候,就自动调用有where 客户=A的语句,直接调用客户A的资料,从而提高查找速度呢?
客户A、B、C这些数据量非常大,所以选择某一个客户时查找很慢,由于客户A的数据量也非常大,我现在想把客户A的数据建立在另外一个视图(客户A销售一览表),就是说视图中已经指定了是客户A,这样查找客户A也比较快,该怎样建立这个视图?是不是只能另外建立一个视图2,在视图1的基础上,里面添加一行where 客户=A,然后调用视图2?能不能在视图1中就能实现不输入客户名称,点击“客户A销售一览表”的时候,就自动调用有where 客户=A的语句,直接调用客户A的资料,从而提高查找速度呢?
解决方案 »
- 求sql server 2005中文企业版32位下载地址
- 简单问题,速结!
- 如何在建表命令中直接添加外间约束命令
- 求:关于部门项目金额分组统计的SQL解决
- 如何求出数据库中,最后三个字段的字段名?
- 请教一条SQL语句:
- SQL Server does not exist or access denied.
- Sql server2005中如何写Before触发器?
- SQL server无法备份数据库,急!!!!!在线等!!!
- Sql语句的疑问
- 请教如何统计出多个表的记录总数?
- powerDesigner设计的表更改后,如何使sql server也跟着直接更新。不必通过生成脚本文件,再在sql server中执行脚本文件的方式。
创建的视图索引
CREATE VIEW [dbo].[V_SampleWatchLog_js] WITH SCHEMABINDING
AS
SELECT dbo.SampleWatchLog_FM.Id, dbo.SampleWatchLog_FM.SampleNo,
dbo.SampleWatchLog_FM.ChannelNo,
dbo.SampleWatchLog_FM.TeleViewDate AS TVWDate,
dbo.SampleWatchLog_FM.BeginTime AS TimeBegin,
dbo.SampleWatchLog_FM.EndTime AS TimeEnd, dbo.SampleWatchLog_FM.ON_OFF,
dbo.Sample.AreaCode, dbo.RightWeight.BevyCode, dbo.Sample.RightCode,
dbo.RightWeight.RightValue
FROM dbo.SampleWatchLog_FM INNER JOIN
dbo.Sample ON
dbo.SampleWatchLog_FM.SampleNo = dbo.Sample.SampleNO INNER JOIN
dbo.RightWeight ON dbo.Sample.RightCode = dbo.RightWeight.RightCode AND
dbo.Sample.AreaCode = dbo.RightWeight.AreaCode
创建了这个视图以后,一定要保证唯一性。
注意:通过SCHEMABINDING属性,把表绑定了,如果对建视图的表进行删除操作的话,将会抱错。
加了with schemabinding后,运行错误:
服务器: 消息 4512,级别 16,状态 3,过程 cust_sale,行 5
无法将 视图 'cust_sale' 绑定到架构,因为名称 'sale' 对于架构绑定无效。名称必须由两部分构成,并且对象不能引用自身。