风之语者

博客园 首页 新随笔 联系 订阅 管理

随笔分类 -  SQL Server

摘要:use master go select top 10 substring(qt.text,(qs.statement_start_offset/2)+1, ((case qs.statement_end_offset when -1 then datalength(qt.text) else qs 阅读全文
posted @ 2017-11-28 17:30 风之语者 阅读(596) 评论(0) 推荐(0)

摘要:原始数据:Table1ID Name-----------------------1 a 2 b3 a4 c5 b需要数据:Table1ID Name-----------------------1 a 2 b4 c开始:DELETE FROM TABLE1 WHERE ID IN (SELECT ID FROM (SELECT ID, RANK OVER(PARTRITION BY NAME ORDER BY ID) AS RankNumberFROM TABLE1WHERE RankNumber<>1) -- 根据name分组,在组内设置等级编号,保留第一条,其他删掉)该SQL 阅读全文
posted @ 2012-03-18 11:45 风之语者 阅读(410) 评论(0) 推荐(0)

摘要:1.关于SQL查询效率,100w数据,查询只要1秒,与您分享:机器情况p4: 2.4内存: 1 Gos: windows 2003数据库: ms sql server 2000目的: 查询性能测试,比较两种查询的性能SQL查询效率 step by step-- setp 1.-- 建表create table t_userinfo(userid int identity(1,1) primary key nonclustered,nick varchar(50) not null default '',classid int not null default 0,writeti 阅读全文
posted @ 2011-07-06 15:20 风之语者 阅读(34807) 评论(7) 推荐(5)

摘要:示例表 tb 数据如下id value—————1 aa1 bb2 aaa2 bbb2 ccc第一种SELECT id, [val]=( SELECT [value] +',' FROM tb AS b WHERE b.id = a.id FOR XML PATH('') ) FROM tb AS a 第一种显示结果1 aa,bb,1 aa,bb,2 aaa,bbb,ccc,2 aaa,bbb,ccc,2 aaa,bbb,ccc,第二种SELECT id, [val]=( SELECT [value] +',' FROM tb AS b WHER 阅读全文
posted @ 2011-07-06 14:39 风之语者 阅读(5302) 评论(0) 推荐(0)

摘要:表结构ProductCategoryCategoryID,Level,ParentCategoryID数据1,1,-12,1,-13,2,14,3,35,2,26,4,5T-SQLWITH CategoryTemp(CategoryID,ParentCategoryID)--临时表用来保存查到的Category( SELECT CategoryID,ParentCategoryID FROM ProductCategory WHERE ParentCategoryID<=0--将所有的第一层查出来作为初始数据,需要查第几层或者哪个ParentCategoryID下面所有的N层,把Pare 阅读全文
posted @ 2011-07-04 15:47 风之语者 阅读(605) 评论(0) 推荐(0)

摘要:1.代码可维护性SQL是结构化查询语言,其主要目的是用来进行查询,业务逻辑和编程不是它的主要任务,如果硬要用SQL完成复杂的业务逻辑编程,其结果就是整个存储过程复杂无比(相对于例如c#等编程语言),谁见谁头疼。2.开发效率很明显,没有比较好的SQL的编程框架。3.性能难以扩展当把业务逻辑整合到存储过程中,相对于只吞吐数据的数据库服务器负载增加不小,为何不把业务逻辑的性能消耗放到另外一台机器上呢。当这台业务逻辑服务器负载不能承受时,可以很轻松的继续添加逻辑服务器来分担负载(相对于添加数据库集群,而且数据实时同步又是一个很大的性能消耗)。这样可以做到尽量少的数据服务器去满足尽量多的业务负载。当然存 阅读全文
posted @ 2011-06-28 11:52 风之语者 阅读(1189) 评论(13) 推荐(0)

摘要:语法:sp_depends '#存储过程名称'返回:name - 表名 type - 类型(表,视图或者其他) updated - 操作类型是否为更新或者插入或者删除(yes/no) selected - 是否为查询操作(yes/no) columns - 相关的列名 阅读全文
posted @ 2011-06-25 11:38 风之语者 阅读(876) 评论(0) 推荐(0)

摘要:C = CHECK 约束D = 默认值或 DEFAULT 约束F = FOREIGN KEY 约束L = 日志FN = 标量函数IF = 内嵌表函数P = 存储过程PK = PRIMARY KEY 约束(类型是 K)RF = 复制筛选存储过程S = 系统表TF = 表函数TR = 触发器U = 用户表UQ = UNIQUE 约束(类型是 K)V = 视图 阅读全文
posted @ 2011-06-25 11:31 风之语者 阅读(350) 评论(0) 推荐(0)

摘要:DECLARE cursor1 CURSOR FORSELECT * FROM @tb1--打开游标OPEN cursor1--获取数据,游标下移一行FETCH NEXT FROM cursor1 INTO @id, @xm--检测获取数据是否成功WHILE @@fetch_status=0BEGIN --显示通过游标赋值的变量PRINT STR(@id) + '-' + @xm--游标继续下移 FETCH NEXT FROM cursor1 INTO @id, @xmEND--关闭游标CLOSE cursor1--释放游标Deallocate cursor1 阅读全文
posted @ 2011-06-22 11:31 风之语者 阅读(338) 评论(0) 推荐(0)

摘要:在C#字符串中查找字符有indexof方法,那么在T-SQL与之相对应的是CHARINDEX方法,其语法为CHARINDEX(要查找的字符,字符串),返回一个数字。CHARINDEX(',','aaa,bbb')返回结果:4 阅读全文
posted @ 2011-06-21 14:08 风之语者 阅读(5206) 评论(0) 推荐(0)

摘要:示例表 tb 数据如下id value—————1 aa1 bb2 aaa2 bbb2 ccc第一种Sql代码SELECTid,[val]=(SELECT[value]+','FROMtbASbWHEREb.id=a.idFORXMLPATH(''))FROMtbASa 第一种显示结果 1 aa,bb, 1 aa,bb, 2 aaa,bbb,ccc, 2 aaa,bbb,ccc, 2 aaa,bbb,ccc,第二种Sql代码SELECTid,[val]=(SELECT[value]+','FROMtbASbWHEREb.id=a.idFORXML 阅读全文
posted @ 2011-06-21 14:03 风之语者 阅读(312) 评论(0) 推荐(0)

摘要:T-SQL的在执行普通的查询的时候是很高效的,但是在执行循环,判断这样的语句的时候效率就不那么的高了。这时可以借助CLR了,我们可以在SQL Server 2008中扩展C#程序来完成循环等过程式的查询,或者其他SQL不便实现的功能。这个随笔中将介绍在SQL Server中扩展C#程序实现正则表达式的替换功能。新建一个类库程序命名为Regex,打开Visual Studio 2008,点击File,点击New,点击Project,在弹出的New Project对话框中选择Class Library,项目名称为Regex。将项目中的类Class1命名为Regex,在这个类中写入如下代码:usin 阅读全文
posted @ 2011-06-20 17:58 风之语者 阅读(706) 评论(0) 推荐(1)