2013年11月4日
摘要: Transact-SQL中的存储过程,非常类似于Java语言中的方法,它可以重复调用。当存储过程执行一次后,可以将语句缓存中,这样下次执行的时候直接使用缓存中的语句。这样就可以提高存储过程的性能。Ø 存储过程的概念 存储过程Procedure是一组为了完成特定功能的SQL语句集合,经编译后存储在数据库中,用户通过指定存储过程的名称并给出参数来执行。 存储过程中可以包含逻辑控制语句和数据操纵语句,它可以接受参数、输出参数、返回单个或多个结果集以及返回值。 由于存储过程在创建时即在数据库服务器上进行了编译并存储在数据库中,所以存储过程运行要比单个的SQL语句块要快。同时由于在调用时只需用 阅读全文
posted @ 2013-11-04 17:50 douqiumiao 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 处理上百万条的数据库如何提高处理查询速度1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t where num is null可以在num上设置默认值0,确保表中num列没有null值,然后这样查询:select id from t where num=03.应尽量避免在 where 子句中使用!=或操作符,否则将引擎放弃使用索引而进行全表扫描。4.应尽量避免在 where 子句中使用 or 来 阅读全文
posted @ 2013-11-04 17:43 douqiumiao 阅读(235) 评论(0) 推荐(0) 编辑
摘要: 一包含数字的字符串,需要取出中间的数字部分进行排序/****** Object: UserDefinedFunction [dbo].[F_Get_No] Script Date: 10/18/2013 22:03:13 ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOcreate function [dbo].[F_Get_No] ( @No varchar(100) ) RETURNS bigint AS BEGIN WHILE PATINDEX('%[^0-9]%',@No)>0 BEGIN SET @No=S 阅读全文
posted @ 2013-11-04 17:38 douqiumiao 阅读(5613) 评论(0) 推荐(0) 编辑
摘要: jQuery自动加载更多程序1.1.1 摘要现在,我们经常使用的微博、微信或其他应用都有异步加载功能,简而言之,就是我们在刷微博或微信时,移动到界面的顶端或低端后程序通过异步的方式进行加载数据,这种方式加快了数据的加载速度,由于它每次只加载一部分数据,当我们有大量的数据,但不能显示所有,这时我们可以考虑使用异步方式加载数据。数据异步加载可以发生在用户点击“查看更多”按钮或滚动条滚动到窗口的底部时自动加载;在接下来的博文中,我们将介绍如何实现自动加载更多的功能。本文目录数据表数据对象模型Web Service方法JavascriptCSS样式图1 微博加载更多功能1.1.2 正文假设,在我们的数 阅读全文
posted @ 2013-11-04 17:33 douqiumiao 阅读(285) 评论(0) 推荐(0) 编辑
摘要: 需求是这样的,我在.net程序里操作数据时将一些字段数据加密了,这些数据是很多系统共用的,其中一delphi程序也需要用到,并且需要将数据解密,由于我在.net里加密的方式比较特殊,在delphi程序里解密比较繁琐且要消耗很多时间,所以不得不让sqlserver调用程序集的方式来解决问题。下面只是一个例子,贴出来共享。建立一个dll,class,代码如下。namespace MyDll{ public partial class MyClass { [SqlMethod] public static SqlString UrlDecode(string ... 阅读全文
posted @ 2013-11-04 17:22 douqiumiao 阅读(528) 评论(0) 推荐(0) 编辑
摘要: 写sql语句分别按日,星期,月,季度,年统计销售额--按日select sum(consume),day([date]) from consume_record where year([date]) = '2006' group by day([date])--按周quarterselect sum(consume),datename(week,[date]) from consume_record where year([date]) = '2006' group by datename(week,[date])--按月select sum(consume), 阅读全文
posted @ 2013-11-04 17:17 douqiumiao 阅读(3114) 评论(0) 推荐(0) 编辑
摘要: 1.数据表T用来记录用户登录、注销信息,其中只有4个记录:user(用户名)operate(操作)time(时间)LiMingLogin2010/10/24 8:03WangYiLogin2010/10/24 8:14WangYiLogout2010/10/24 16:14LiMingLogout2010/10/24 16:44请写出一个SQL查询语句,返回用户在线时间情况的结果集:LiMing8:13WangYi8:46create table tb ( [user] varchar(20), operate varchar(20), [time] datetime) insert into 阅读全文
posted @ 2013-11-04 15:27 douqiumiao 阅读(236) 评论(0) 推荐(0) 编辑
摘要: 原文链接:http://kb.cnblogs.com/page/187757/ 阅读全文
posted @ 2013-11-04 14:27 douqiumiao 阅读(124) 评论(0) 推荐(0) 编辑
摘要: 1、行转列 ---1、最简单的行转列/* 问题:假设有张学生成绩表(tb)如下:姓名 课程 分数张三 语文 74张三 数学 83张三 物理 93李四 语文 74李四 数学 84李四 物理 94 想变成(得到如下结果): 姓名 语文 数学 物理 李四 74 84 94张三 74 83 93*/--测试用IF OBJECT_ID('[tb]') IS NOT NULL DROP TABLE [tb]GOcreate table tb(姓名 varchar(10) , 课程 varchar(10) , 分数 int)insert into tb values('张三' 阅读全文
posted @ 2013-11-04 14:05 douqiumiao 阅读(432) 评论(0) 推荐(0) 编辑
摘要: create table tb ([id] int,[name] varchar(2))insert into tbselect 1,'aa' union allselect 2,'bb' union allselect 1,'cc' union allselect 3,'dd' union allselect 2,'ee' select * from tb--查询select id, name=stuff((select ','+name from tb where id=t.id for xml 阅读全文
posted @ 2013-11-04 13:58 douqiumiao 阅读(392) 评论(0) 推荐(0) 编辑