您的位置:系统应用>>计算机和外设>>数据库>>设计应用>>正文

SQL Server 2008中使用稀疏列和列集的方法

推荐给好友
打印
加入收藏
更新于2008-08-06 14:24:34


 在一个列集中插入和更新数据

        可以对稀疏列插入记录而不使用列集,但是一旦插入了,那么记录就可以使用列集来获得。

       代码1:对列集插入一个记录而不插入任何值。

         可以使用这个列集来插入和更新记录。代码2显示了通过列集来插入一个记录和更新一个记录的方法。

         代码2:插入和更新这个列集。


       这是一个小技巧。一般我们使用UPDATE()函数来查看一个特定列是否更新了。如果你在一个与具有稀疏列和列集的表所关联的触发器中执行了它,那么UPDATE()函数返回的值不会是你所预期的。下面的代码测试了这一点。

       代码1:对Customers表创建一个UPDATE触发器。

 

        当你显式更新列集时,UPDATE()函数对这个列集返回true。不只这样,写给所有稀疏列的UPDATE()函数都返回true。当一个稀疏列被显式更新时,UPDATE()函数对稀疏列和列集返回true。

        代码2:在触发器中更新这个表,并测试UPDATE()函数。

        如果你为INSERT 语句写了相同的触发器,那么你将看到INSERT操作出现相同的行为。当对一个稀疏列插入一个值并且你使得其它为NULL时,UPDATE()函数对稀疏列和列集返回true。当对列集插入值时,UPDATE()函数对列集和所有稀疏列返回true。

 

文章出处:51CTO