视图妙用

原创 2004年08月01日 14:42:00

1、分离逻辑与业务数据。

       众所周知,在与数据库相互的应用系统的设计过程中,我们经常会对其操作行为分离,当然,这第一步就是要求不要用数据库敏感控件,第二就是要求显示与操作分离,最好的办法就是采用视图,比如我们有如下需求。

       A,查看一张单据的明细

       B,对该明细进行编辑

       虽然需求很简单,但如果要考虑到需求的变更,就需要我们经常重新组织查看的方式,因为编辑操作是固定的,用户可能会想能不能显示该张单据的时候,同时显示一些别的数据,这个时候,如果只在服务器端更改一些设置,就非常OK了,我们给视图增加联接那项数据的操作,当然,要求我们显示端是拼凑SQL语句形成的。

2、查询的妙用。

      如果想保存一个现有的查询条件生成的查询为一个新的查询,怎么操作呢,当然是把现有的这些条件以及显示数据集全部当成一个新的视图进行了,以后只要对新的视图进行操作就OK了。

3、减少写代码的错误率

      如果写存储过程多了,肯定会碰到以下的类似问题,经常要进行 exec('update ' + @tablename + '  set did = 10 '),如果只是单表,倒好办一点,如果是多表的话,就非常麻烦了,拼凑的SQL语句一是很难看懂,格式麻烦,二是无法使用MSSQL的自动语法检错工具,这时,如果我们建一个“临时”视图,一切问题就好办了,当然要注意多用户以及隔离问题

     if exists..... drop view 临时视图名,  exec('create view 临时视图名 select * from ' + @tablename),以后对该视图操作,就可以防止出现简单的语法错

 

Python多重继承说明及应用

Python中没有接口的概念,替代之的是多重继承。而引入多重继承之后,一个新的问题是多个父类之间的继承顺序和方法调用顺序。比如:子类中调用的方法在多个父类中都存在的时候,到底会调用哪个父类的方法?(显...
  • five3
  • five3
  • 2017年11月27日 18:02
  • 140

Python中itertools模块用法详解

本文实例讲述了Python中itertools模块用法,分享给大家供大家参考。具体分析如下: 一般来说,itertools模块包含创建有效迭代器的函数,可以用各种方式对数据进行循环操作,此模块中...
  • bbbeoy
  • bbbeoy
  • 2017年07月03日 15:34
  • 185

异或操作妙用

前几天下班途中跟同事聊到了一道面试题,大意是,给你1-1000个连续自然数,然后从中随机去掉两个,再打乱顺序,要求只遍历一次,求出被去掉的两个数。 这题其实挺为面试者的,因为要求1分钟内说出解法...
  • u011487593
  • u011487593
  • 2014年09月21日 20:13
  • 1058

Wireshark的作用

Wireshark的常用功能分为四个方面: 1.一般分析任务 (1)找出在一个网络内发送数据包最多的主机 (2)查看网络通信 (3)查看某个主机使用了哪些程序 (4)基本正常的网络通信 (5)验...
  • TLXX1126
  • TLXX1126
  • 2017年07月12日 18:48
  • 260

git进阶之分支的简单用途

git进阶一  (分支) 为什么要创建安分支? 比如我们开发完了一个app上线了,接下那就是迭代功能开发了,如果上线的app出现了一个严重的bug,要你放下手头新功能的开发去解决这个bug,然后在...
  • flyinbed_
  • flyinbed_
  • 2016年12月28日 14:43
  • 200

Sublime Text 2编辑器的妙用

Sublime Text 2 使用心得 一、 前言 作为一个前端,有一款好的开发利器是必不可少的,editplus、notepad++都是不错的工具,体积轻巧,启动迅速(dw太浮肿了)。最...
  • z10160
  • z10160
  • 2013年08月31日 09:49
  • 500

按位与,按位或,按位异或,按位取反

按位与,按位或,按位异或,按位取反运算法则以及用途。 按位取反(~)配合按位与(&)以及按位或(|)可实现状态标志位的增加和移除。http://blog.csdn.net/hailushijie/ar...
  • hailushijie
  • hailushijie
  • 2013年07月15日 19:56
  • 1959

SWfit学习6:扩展

扩展就是向一个已有的类、结构体或枚举类型添加新功能(functionality)。这包括在没有权限获取原始源代码的情况下扩展类型的能力(即逆向建模)。扩展和 Objective-C 中的分类(cate...
  • u012890196
  • u012890196
  • 2015年09月14日 10:51
  • 242

谈一谈Go的接口interface的使用方法

Go 语言提供了另外一种数据类型即接口,它把所有的具有共性的方法定义在一起,简单的说,interface是一组method的组合,我们通过interface来定义对象的一组行为,任何其他类型只要实现了...
  • qq_27682041
  • qq_27682041
  • 2017年12月15日 09:55
  • 95

位运算以及用途详解

 程序中的所有数在计算机内存中都是以二进制的形式储存的。位运算说穿了,就是直接对整数在内存中的二进制位进行操作。比如,and运算本来是一个逻辑运算符,但整数与整数之间也可以进行and...
  • qq51931373
  • qq51931373
  • 2014年08月05日 11:03
  • 1635
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:视图妙用
举报原因:
原因补充:

(最多只允许输入30个字)