随笔分类 -  Sql Server 2008

tsql 循环id读取
摘要:declare @IDList as varchar(max)declare @ID as int declare @i as intset @IDList=''select @IDList=@IDList + cast(id as varchar(50)) + ',' from tablewhil... 阅读全文
posted @ 2015-10-10 16:34 一粒沙 阅读(421) 评论(0) 推荐(0)
引用:初探Sql Server 执行计划及Sql查询优化
摘要:MSSQL优化之————探索MSSQL执行计划作者:no_mIss最近总想整理下对MSSQL的一些理解与感悟,却一直没有心思和时间写,晚上无事便写了一篇探索MSSQL执行计划,本文讲执行计划但不仅限于讲执行计划。网上的SQL优化的文章实在是很多,说实在的,我也曾经到处找这样的文章,什么不要使用IN了,什么OR了,什么AND了,很多很多,还有很多人拿出仅几S甚至几MS的时间差的例子来证明着什么(有点可笑),让许多人不知道其是对还是错。而SQL优化又是每个要与数据库打交道的程序员的必修课,所以写了此文,与朋友们共勉。谈到优化就必然要涉及索引,就像要讲锁必然要说事务一样,所以你需要了解一下索引,仅仅 阅读全文
posted @ 2013-09-22 17:49 一粒沙 阅读(390) 评论(0) 推荐(1)
SQL Server中汇总功能的使用GROUPING,ROLLUP和CUBE
摘要:第一次看到这样的SQL语句,看不懂,其中用到了下面的不常用的聚集函数:GROUPING用于汇总数据用的运算符: ROLLUPSELECT CASEGROUPING(o.customerid)WHEN0THENo.customeridELSE'(Total)'END ASAllCustomersSummary, CASEGROUPING(od.orderid)WHEN0THENod.orderidELSE-1END ASIndividualCustomerSummary, SUM(od.quantity*od.unitprice)ASprice FROMOrderso,[Orde 阅读全文
posted @ 2013-05-23 10:19 一粒沙 阅读(694) 评论(0) 推荐(0)
SQL Server中Rollup关键字使用技巧 (转)
摘要:首先创建测试表、添加数据。createtable#t(aint,bint,cint,dint,eint) insertinto#tvalues(1,2,3,4,5) insertinto#tvalues(1,2,3,4,6) insertinto#tvalues(1,2,3,4,7) insertinto#tvalues(1,2,3,4,8) insertinto#tvalues(1,3,3,4,5) insertinto#tvalues(1,3,3,4,6) insertinto#tvalues(1,3,3,4,8) insertinto#tvalues(1,3,3,4,7) insert. 阅读全文
posted @ 2013-05-23 10:18 一粒沙 阅读(439) 评论(0) 推荐(0)
tsql LastIndexOf
摘要:ALTER FUNCTION [dbo].[LastIndexOf] (@stringValue as nvarchar(1000), @stringSearch as nvarchar(1000)) returns intASBEGIN DECLARE @lastindex int SET @lastindex= 0 DECLARE @tempindex int while (1=1) begin SET @tempindex = charindex(@stringSearch, @stringValue, @lastindex + 1)... 阅读全文
posted @ 2013-05-06 16:44 一粒沙 阅读(367) 评论(0) 推荐(0)
SQL 2008 T-SQL支持表变量参数(转)
摘要:最近装了VS2010尝鲜。在Win7下速度明显快了很多。顺便装了Microsoft sql server 2008 R2,在看SQL 2008对T-SQL语法的增强的时候注意到了一个表变量作为参数传递的新语法觉得很不错。 首先建立一张测试表:CREATETABLE[dbo].[us]( [id][int]IDENTITY(1,1)NOTNULL, [name][varchar](50)NULL, [pass][varchar](50)NULL,CONSTRAINT[PK_us]PRIMARYKEYCLUSTERED( [id]ASC)WITH(PAD_INDEX =OFF,STATI... 阅读全文
posted @ 2013-05-03 11:05 一粒沙 阅读(365) 评论(0) 推荐(0)
sql server连接字符串
摘要:方法一:server=localhost;uid=sa;pwd=123;database=testt;方法二:Data Source=localhost;Initial Catalog=testt;User ID=sa; Password=123;推荐使用第一种链接方法,第二种根据sql server的版本不同不兼容 阅读全文
posted @ 2011-08-26 22:38 一粒沙 阅读(486) 评论(0) 推荐(0)
SQL查询中的转义字符
摘要:如果想查找“_cs”结尾的的账户select * from [user] where loginname like '%_cs'是不行的,_ 被认为是任意的字符,所以需要转义字符,有两种写法:select * from [user] where loginname like '%[_]cs'select * from [user] where loginname like '%/_cs' escape'/'通配符含义%包含零个或更多字符的任意字符串。_任何单个字符。[ ]指定范围(例如 [a-f])或集合(例如 [abcdef]) 阅读全文
posted @ 2011-04-02 17:21 一粒沙 阅读(1009) 评论(0) 推荐(0)
存储过程中执行带输出参数的动态SQL
摘要:--存储过程中执行带输出参数的动态SQL declare @sql nvarchar(max)declare @tableName varchar(200)declare @id int set @tableName='tableA' set @sql = 'select @id=id from ' + @tableName exec sp_executesql @sql, N'@id int o... 阅读全文
posted @ 2010-10-08 17:17 一粒沙 阅读(482) 评论(0) 推荐(0)
安装 sql server 2008R2 analysis示例数据库
摘要:http://msftdbprodsamples.codeplex.com/wikipage?title=Installing%20Analysis%20Services%20Database 阅读全文
posted @ 2010-08-05 18:53 一粒沙 阅读(626) 评论(0) 推荐(0)
多对多关系
摘要:http://office.microsoft.com/training/training.aspx?AssetID=RP061827602052&ofcresset=1 “订单”表中的主键。“产品”表中的主键。一个订单可以包含多种产品 ... ... 且每种产品可以出现在多个订单上。课程文本在多对多关系中,一个表中的一个记录与第二个表中的多... 阅读全文
posted @ 2009-12-25 16:05 一粒沙 阅读(324) 评论(0) 推荐(0)
安装Adventureworks2008的艰难历程(原创)
摘要:在学习Reporting Service联机教程的时候,提示要用Adventureworks2008数据库,于是用codeplex网站下载了SQL2008.AdventureWorks_All_Databases.x86.msi,安装上去,没有看到有Adventureworks2008数据库,却有一个Adventureworks数据库,我想这也应该能用吧 于是就开始用Adventureworks数... 阅读全文
posted @ 2009-12-03 12:03 一粒沙 阅读(5915) 评论(2) 推荐(0)
t-sql设置一周的第一天的一个整数
摘要:SET DATEFIRST { number | @number_var } 参数 number | @number_var 指示一周的第一天的一个整数。可以是下列值之一。值 一周的第一天是 1 星期一2 星期二3 星期三4 星期四5 星期五6 星期六7(默认值,美国英语)星期日 阅读全文
posted @ 2009-12-02 17:07 一粒沙 阅读(298) 评论(0) 推荐(0)
t-sql中使用参数设置取值范围
摘要:看了Reporting Service中的列子,看到类似下面的语句,原来in子句中可以使用参数噢,where soh.SalesPersonID IN (@BusinessPersonID)这是太方便了。 阅读全文
posted @ 2009-12-02 16:54 一粒沙 阅读(1463) 评论(0) 推荐(0)
SQL中使用WITH AS提高性能
摘要:代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--WITHpaths(path,EmployeeID)AS(--ThissectionprovidesthevaluefortherootofthehierarchySELECThierarchyid:... 阅读全文
posted @ 2009-12-02 12:11 一粒沙 阅读(411) 评论(0) 推荐(0)
row_number()over函数的使用
摘要:INSERT #Children (EmployeeID, ManagerID, Num)SELECT EmployeeID, ManagerID, ROW_NUMBER() OVER (PARTITION BY ManagerID ORDER BY ManagerID) FROM HumanResources.EmployeeDemoGOSELECT * FROM #Children ORDE... 阅读全文
posted @ 2009-12-02 12:01 一粒沙 阅读(711) 评论(0) 推荐(0)