C军

不玩博客了!

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
上一页 1 ··· 19 20 21 22 23 24 25 26 27 ··· 50 下一页

2013年7月2日

摘要: .Net的字符串其实还是有很多东西可以写的。但是最近在学习SQL Server,只好先做下最近学习到的一些巧用,妙用之类的东西。 巧用String.Join拼接字串数组,字符串集合为字符串。如果在之前,一个foreach早就敲上去了。虽然效率差多,但是少了个foreach,还是美观不少的。 ... 阅读全文
posted @ 2013-07-02 22:48 逆心 阅读(816) 评论(0) 推荐(1) 编辑

摘要: UDF的定义 和存储过程很相似,用户自定义函数也是一组有序的T-SQL语句,UDF被预先优化和编译并且尅作为一个单元爱进行调用。UDF和存储过程的主要区别在于返回结果的方式。 使用UDF时可传入参数,但不可传出参数。输出参数的概念被更为健壮的返回值取代了。和系统函数一样,可以返回标量值,这个值的好处是它并不像在存储过程中那样只限于整形数据类型,而是可以返回大多数SQL Server数据类型。 UDF有以下两种类型: 返回标量值的UDF。 返回表的UDF。 创建语法:CREATE FUNCTION [.]([ [AS] [.] [= [READONLY]] [,...n] ])R... 阅读全文
posted @ 2013-07-02 17:55 逆心 阅读(5343) 评论(1) 推荐(2) 编辑

摘要: 存储过程(stored procedure)有时也称sproc,它是真正的脚本,更准确地说,它是批处理(batch),但都不是很确切,它存储与数据库而不是单独的文件中。 存储过程中有输入参数,输出参数以及返回值等。一、创建存储过程 创建存储过程的方法和创建数据库中任何其他对象一样,除了他使用AS关键字外。存储过程的基本语法如下: CREATE PROCEDURE|PROC [ [schema.] [VARYING] [=] [OUT[PUT]] [READONLY] [, [schema.] [VARYING] [=] [OUT[PUT]] [READONLY] [,..... 阅读全文
posted @ 2013-07-02 13:18 逆心 阅读(3320) 评论(2) 推荐(2) 编辑

2013年7月1日

摘要: CAST和CONVERT都经常被使用。特别提取出来作为一篇文章,方便查找。 CAST、CONVERT都可以执行数据类型转换。在大部分情况下,两者执行同样的功能,不同的是CONVERT还提供一些特别的日期格式转换,而CAST没有这个功能。 既然CONVERT包括了CAST的所有功能,而且CONVERT还能进行日期转换,那么为什么需要使用CAST呢?实际上,这是为了ANSI/ISO兼容。CAST是ANSI兼容的,而CONVERT则不是。 语法: CAST (expression AS data_type [ (length ) ]) CONVERT (data_type [ ( le... 阅读全文
posted @ 2013-07-01 21:58 逆心 阅读(67254) 评论(0) 推荐(5) 编辑

摘要: SQL Server系统视图非常的多,因此不可能一个一个地写,我最近一直在想,对于数据库的系统视图应该如何学,但是看了一下目录之后,我呆了,我觉得每个写一次,可能都要花费1个星期的时间,如果对每一个返回的列的作用都了解清楚,那不得了,你至少需要3个月的时间。后来我想了一个,不行,这种学习方法是错误的。我决定不再每一个系统视图都了解一次,我仅仅需要知道的是,通过系统视图能够做什么事情。 系统视图,存储的是关于整个数据库的东西。比如,一个数据库里面有哪些文件组,哪些表,哪些索引,哪些约束等等,都可以通过系统视图来获得。作用就是如此。 知道就可以了。但是也有一个问题,比如最近我想开发一个代码... 阅读全文
posted @ 2013-07-01 17:11 逆心 阅读(1372) 评论(0) 推荐(1) 编辑

2013年6月30日

摘要: 批处理简介 批处理是作为一个逻辑单元的T-SQL语句。如果一条语句不能通过语法分析,那么不会运行任何语句。如果一条语句在运行时失败,那么产生错误的语句之前的语句都已经运行了。 为了将一个脚本分为多个批处理,可使用GO语句。 GO语句的特点: GO语句必须自成一行,只有注释可以再同一行上。 它使得自脚本的开始部分或者最近一个GO语句以后的所有语句编译成一个执行计划并发送到服务器,与任何其他批处理无关。 GO语句不是T-SQL命令,而是由各种SQL Server命令实用程序(如:Management Studio中的"查询"窗口)识别的命令。 1、自成一行 GO命令应当自成一行 阅读全文
posted @ 2013-06-30 21:17 逆心 阅读(8018) 评论(0) 推荐(2) 编辑

2013年6月28日

摘要: 游标是面向行的,它会使开发人员变懒,懒得去想用面向集合的查询方式实现某些功能。 在性能上,游标会迟更多的内存,减少可用的并发,占用带宽,锁定资源,当然还有更多的代码量。 用一个比喻来说明为什么游标会占用更多的资源。当你从ATM机取款的时候,是一次取1000的效率更高呢,还是10次100呢?既然游标那么多缺点,为什么要学习游标呢? 现存系统有一些游标,我们查询必须通过游标来实现。 作用一个备用方式,当使用while、子查询,临时表,表变量,自建函数或其他方式仍然无法实现某些查询的时候,可以使用游标实现。 游标的定义语法:DECLARE cursor_name CURSOR [ ... 阅读全文
posted @ 2013-06-28 18:22 逆心 阅读(3493) 评论(2) 推荐(2) 编辑

摘要: 要理解执行计划,怎么也得先理解,那各种各样的名词吧。鉴于自己还不是很了解。本文打算作为只写懂的,不懂的懂了才写。 在开头要先说明,第一次看执行计划要注意,SQL Server的执行计划是从右向左看的。 名词解析: 扫描:逐行遍历数据。 先建立一张表,并给大家看看大概是什么样子的。 CREATE TABLE Person( Id int IDENTITY(1,1) NOT NULL, Name nvarchar(50) NULL, Age int NULL, Height int NULL, Area nvarchar(50) NU... 阅读全文
posted @ 2013-06-28 11:44 逆心 阅读(44912) 评论(11) 推荐(29) 编辑

2013年6月27日

摘要: 在SQL Server中,非聚集索引其实可以看做是一个含有聚集索引的表,但相对实际的表来说,非聚集索引中所存储的表的列数要少得多,一般就是索引列,聚集键(或RID)。非聚集索引仅仅包含源表中的非聚集索引的列和指向实际物理表的指针。一、非聚集索引之INCLUDE 非聚集索引其实可以看做一个含有聚集索引的列表,当这个非聚集索引中包含了查询所需要的所有信息的时候,则就不再需要去查基本表,仅仅做非聚集索引就能够得到所需要的数据。INCLUDE实际上也能称为覆盖索引,但它不影响索引键的大小。 先来看下面一张表: 此表大约是15万数据左右。聚集索引列是Id,我们先来在Name列建立一个非聚集... 阅读全文
posted @ 2013-06-27 14:39 逆心 阅读(3065) 评论(4) 推荐(0) 编辑

2013年6月26日

摘要: 分区表简介 分区表是SQL Server2005新引入的概念,这个特性在逻辑上将一个表在物理上分为多个部分。(即它允许将一个表存储在不同的物理磁盘里)。在SQL Server2005之前,分区表实际上是分布式视图,也就是多个表做union操作。 分区表在逻辑上是一个表,而物理上是多个表。在用户的角度,分区表和普通表是一样的,用户角度感觉不出来。 而在SQL Server2005之前,由于没有分区的概念,所谓的分区仅仅是分布式视图: 对表分区的理由 表分区这个特性,只有SQL Server企业版或SQL Server开发版才有,理解表分区的概念之前,还得先理解SQL Se... 阅读全文
posted @ 2013-06-26 16:08 逆心 阅读(11982) 评论(3) 推荐(3) 编辑

上一页 1 ··· 19 20 21 22 23 24 25 26 27 ··· 50 下一页