易截截图软件、单文件、免安装、纯绿色、仅160KB

SQL 使用

对问题的理解是解决问题的前提,今天遇到一个项目中的问题让我深刻的体会到这一点。
两个表:
T1
Term Domain WithAncestor
car    x.com     ?
bike  y.com     ?
car    a.x.com  ?
T2
Parent    Domain
x.com     a.x.com
求出T1中的WithAncestor的值。
设初始化为0,下面的做法是我的第一个版本:
Update T1 set WithAncestor=1
where Domain in
( select Domain
   from T1 join T2 on T1.Domain=T2.Domain
           join T1 B on T2.Parent=T1.Domain and T1.Term=B.Term)
)
这种解法的意思就是说:如果一个domain的父Domain也出现在表中,那么它的WithAncestor为1.
这种做法是错误,正确的方法应该是:如果一个keyWord出现在一个domain上,并且这个Keyword也出现在它的父亲domain上,那么withAncestor为1.
基于这种思想,正确的写法是:
Update T1
set WithAncestor=1
from T1 join T2 on T1.domain=T2.domain
        join T1 B on T2.parent=B.domain and T1.term=B.term
这个写法会将T1中满足from的那些行改成对应的值。


相关文档:

SQL数据库服务器的安全策略 保护数据安全

 SQL Server 2000的安全配置在进行SQL Server 2000数据库的安全配置之前,首先必须对操作系统进行安全配置,保证操作系统处于安全状态。然后对要使用的操作数据库软件(程序)进行必要的安全审核,比如对ASP、PHP等脚本,这是很多基于数据库的Web应用常出现的安全隐患,对于脚本主要是一个过滤问题,需要过滤一些类似&ld ......

SQL Server 2005利用分区对海量数据的处理


超大型数据库的大小常常达到数百GB,有时甚至要用TB来计算。而单表的数据量往往会达到上亿的记录,并且记录数会随着时间而增长。这不但影响着数据库的运行效率,也增大数据库的维护难度。除了表的数据量外,对表不同的访问模式也可能会影响性能和可用性。这些问题都可以通过对大表进行合理分区得到很大的改善。当表和索引 ......

SQL 2005 对xml 文件与 xml数据的操作

 由于数据库对xml数据直接处理有很多优势,05也对这方面加强了功能。
        但这方面资料少,所以自己做了一些总结,希望会给大家带来帮助
        --charry0110(晓风残月)
         --作者:陈 ......

MS Sql Server数据库分区

什么是数据库分区?
数据库分区是一种对表的横向分割,Sql server 2005企业版和之后的Sql server版本才提供这种技术,这种对表的横向分割不同于2000中的表分割,它对访问用户是透明的,用户并不会感觉的表被横向分割了。(2000中的表横向分割是建n个表例如按时间建表每月一个表,表名不同,最后需要做一个大视图)
为什 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号