上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 44 下一页
摘要: 什么情况下使用表变量?什么情况下使用临时表?表变量: DECLARE @tb table(id int identity(1,1), name varchar(100)) INSERT @tb SELECT id, name FROM mytable WHERE name like ‘zhang%’ 临时表: SELECT name, address INTO #ta FROM mytable WHERE name like ‘zhang%’表变量和临时表的比较:临时表是利用了硬盘(tempdb数据库) ,表名变量是占用内存,因此小数据量当然是内存中的表变量更快。当大数据量时,就不... 阅读全文
posted @ 2013-06-13 14:14 higirle 阅读(1782) 评论(0) 推荐(0) 编辑
摘要: 利用带关联子查询Update语句更新数据 Update是T-sql中再简单不过的语句了,update table set column=expression[where condition],我们都会用到。但update的用法不仅于此,真正在开发的时候,灵活恰当地使用update可以达到事半功倍的效果。 假定有表Table1(a,b,c)和Table2(a,c),现在Table1中有些记录字段c为null,要根据字段a在Table2中查找,取出字段a相等的字段c的值来更新Table1。一种常规的思路,通过游标遍历Table1中字段c为null的所有记录,在循环体内查找Table2并进行更新,即 阅读全文
posted @ 2013-06-13 13:53 higirle 阅读(426) 评论(0) 推荐(0) 编辑
摘要: Union因为要进行重复值扫描,所以效率低。如果合并没有刻意要删除重复行,那么就使用Union All两个要联合的SQL语句 字段个数必须一样,而且字段类型要“相容”(一致);如果我们需要将两个select语句的结果作为一个整体显示出来,我们就需要用到union或者union all关键字。union(或称为联合)的作用是将多个结果合并在一起显示出来。 union和union all的区别是,union会自动压缩多个结果集合中的重复结果,而union all则将所有的结果全部显示出来,不管是不是重复。 Union:对两个结果集进行并集操作,不包括重复行,同时进行默认规则的排序; Union A 阅读全文
posted @ 2013-06-13 13:49 higirle 阅读(432) 评论(0) 推荐(0) 编辑
摘要: a: Insert into Table2 values('AAA','90')b: INSERT Table2 select Table1.a,Table1.b from Table1C: Insert into Table2(field1,field2,...) select value1,value2,... from Table1d: SELECT vale1, value2 into Table2 from Table1转载:http://www.cnblogs.com/freshman0216/archive/2008/08/15/1268316.h 阅读全文
posted @ 2013-06-13 13:46 higirle 阅读(616) 评论(0) 推荐(0) 编辑
摘要: TRUNCATETABLE在功能上与不带WHERE子句的DELETE语句相同:二者均删除表中的全部行。但TRUNCATETABLE比DELETE速度快,且使用的系统和事务日志资源少。DELETE语句每次删除一行,并在事务日志中为所删除的每行记录一项。TRUNCATETABLE通过释放存储表数据所用的数据页来删除数据,并且只在事务日志中记录页的释放。TRUNCATETABLE删除表中的所有行,但表结构及其列、约束、索引等保持不变。新行标识所用的计数值重置为该列的种子。如果想保留标识计数值,请改用DELETE。如果要删除表定义及其数据,请使用DROPTABLE语句。对于由FOREIGNKEY约束引 阅读全文
posted @ 2013-06-13 13:45 higirle 阅读(264) 评论(0) 推荐(0) 编辑
摘要: http://www.codeproject.com/Articles/142292/Recursive-methods-in-Csharphttp://www.codeproject.com/Articles/21194/Iterative-vs-Recursive-Approaches 阅读全文
posted @ 2013-06-06 13:20 higirle 阅读(220) 评论(0) 推荐(0) 编辑
摘要: 伐木问题一片环形的林带按照时钟方向分成N块相邻的林地,首尾相连,每一块林地均与另两块林地相邻。伐木工对每一块林地里可采伐的木材量进行了估计,这些木材量以 int[] woods 来表示。这个数组按顺时针顺序列出了每一块林地里的可采伐木材量。现在要在这片林带中选择一些林地来进行采伐。但为了不破坏生态,不能有两块相邻的林地同时被采伐。你必须编写程序来计算最大可采伐的木材量。函数声明:int maxWoods(int[] woods)参数范围:woods可以包含2到50个元素。每一个元素的取值范围为1到1000。测试用例:1:{10, 3, 2, 5, 7, 8}输出:19注:因为林地首尾相连,所以 阅读全文
posted @ 2013-06-06 10:49 higirle 阅读(570) 评论(0) 推荐(0) 编辑
摘要: See Also: Main_Page - Monitoring & Tuning - Tuning Tools - SQL Server Query OptimizerSeveral ways exist to generate an execution plan in SQL Server. First, and most frequently used, are the graphical execution plans. These are followed by XML execution plans and plain text execution plans.Conten 阅读全文
posted @ 2013-02-27 16:26 higirle 阅读(349) 评论(0) 推荐(0) 编辑
摘要: Refer: http://stackoverflow.com/questions/7359702/how-do-i-obtain-a-query-execution-planThere are a number of methods of obtaining an execution plan, which one to use will depend on your circumstances. Usually you can use SQL Server Management Studio to get a plan, however if for some reason you can 阅读全文
posted @ 2013-02-27 16:11 higirle 阅读(1598) 评论(0) 推荐(1) 编辑
摘要: 准备中。。。 阅读全文
posted @ 2012-12-13 14:10 higirle 阅读(612) 评论(0) 推荐(0) 编辑
上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 44 下一页