sql
YANGZHONGBAO411
这个作者很懒,什么都没留下…
展开
-
sql中常用动态的行转列
//取出源数据select groupname,totalnum,inputdate,groupid into #temp from (select count(*)as totalnum,p.groupid,g.groupname,convert(nvarchar(10),inputdate,120) as inputdate from person p left join admi原创 2009-10-26 09:35:00 · 680 阅读 · 0 评论 -
sql中遇到非正常操作引起的数据库文件破坏的恢复
在某些偶然的情况下,会引起SQL Server 2005数据库日志文件的损坏,比如:硬件故障、计算机非正常重启或关机。当SQL Server 2005数据库日志文件损坏时,可能会出现以下情况:1、在SQL Server Management Studio中显示数据库处于置疑(suspect)状态。2、事件日志可能会出现如下错误信息: Could not redo log record (21737:686:9), for transaction ID (0:2334886), on page (1:37原创 2010-06-21 12:53:00 · 748 阅读 · 0 评论 -
sql中的大数据量数据提速(二)
<br />数据库优化--使用索引优化存储过程 <br /> <br /> 现有数据库中有一个存储过程的查询时间为25s,最大的一个表的数据记录在70-80万条记录,感觉还有潜力可以挖掘。<br /> 经过一系列的优化最后,这个存储过程的执行时间为3s-4s。下面就讲讲此次优化的过程。<br /> 首先是要讲一下,这次主要使用到了索引这一个工具。先说一下索引。<br />一、聚集索引基于数据行的键值在表内排序和存储这些数据行。每个表只能有一个聚集索引,因为数据行本身只能按一个顺序存储。<b原创 2010-06-11 08:48:00 · 842 阅读 · 0 评论 -
sql中的大数据量数据提速
<br />最近做个项目接近千万条数据,对数据的读取速度,要求比较高。对此作了一个简单的总结。<br />1.sql语句书写的我们应该注意,尽量少使用in、or、和虚拟表。<br />(也有高人说,尽量多使用临时表能够减少磁盘的I/O操作,这个还有待验证)<br />2.建立索引,通常我们会把,聚集索引建立在使用多,但出现少的字段上。(例如:时间) <br />3.建立组合索引,组合索引的创建之后,我们在查询条件上的条件书写顺序要,跟我们建索引的字段顺序一样。<br />4.使用具有包含列的索引。(引文:<原创 2010-06-04 11:02:00 · 1079 阅读 · 0 评论 -
利用sql中的主外键
<br />利用sql中主外键来控制数据的唯一性。原创 2010-06-02 11:03:00 · 542 阅读 · 0 评论 -
游标的使用
DECLARE @UserID1 uniqueidentifier DECLARE MyCursor CURSOR FOR --取出游标中的数据集 select u.UserID from lc_userinfo u left join admin_group g on u.groupid=g.groupid where g.areaid= @AreaID or @AreaID=原创 2010-05-25 08:58:00 · 439 阅读 · 0 评论 -
删除存在外键的数据
一种情况1、禁用约束 alter table ××× nocheck constraint all 2、删除数据 delete from ××× 3、恢复约束 alter table ××× check constraint all 二种情况先删除外键原创 2010-05-17 13:29:00 · 944 阅读 · 0 评论 -
批量删除包含特殊字符的存储过程
declare proccur cursor for select [name] from sysobjects where type=Pdeclare @procname varchar(100)open proccurfetch next from proccur into @procnamewhile(@@FETCH_STATUS原创 2010-05-06 10:36:00 · 964 阅读 · 1 评论 -
while循环控制表的样式
select AwardID,t.TypeID,DepartmentName,UserName,UG_Name,T.AwardType,T.AwardReason,convert(nvarchar(10),T.AwardTime,121) as AwardTime,T.Inactiveinto #tempfrom T_GLGZ_AwardInfo Tleft join View_UserIn原创 2010-04-16 09:29:00 · 537 阅读 · 0 评论 -
ExecuteNonQuery()的应用
SqlCommand.ExecuteNonQuery 方法对连接执行 Transact-SQL 语句并返回受影响的行数。备注:可以使用 ExecuteNonQuery 来执行目录操作,或通过执行 UPDATE、INSERT 或 DELETE 语句,在不使用 DataSet 的情况下更改数据库中的数据。 虽然 ExecuteNonQuery 不返回任何行,但映射到参数的任何输出参数转载 2010-03-11 16:34:00 · 608 阅读 · 0 评论 -
字符串循环插入
set ANSI_NULLS ONset QUOTED_IDENTIFIER ONgoALTER proc [dbo].[Email_SendEamil]@Title nvarchar(50),@ContentText nvarchar(Max),@EmailBoxID uniqueidentifier,@UserPerson nvarchar(Max),@FromPerson uniquei原创 2009-12-04 13:34:00 · 675 阅读 · 0 评论 -
sql中分割字符串
set ANSI_NULLS ONset QUOTED_IDENTIFIER ONgoALTER function [dbo].[Get_StrArrayStrOfIndex]( @str varchar(1024), --要分割的字符串 @split varchar(10), --分隔符号 @index int --取第几个元素)returns varchar(1024)asbegin原创 2009-12-04 13:33:00 · 615 阅读 · 0 评论 -
sql中截取和算出字符串的长度
et ANSI_NULLS ONset QUOTED_IDENTIFIER ONgoALTER function [dbo].[Get_StrArrayLength]( @str varchar(1024), --要分割的字符串 @split varchar(10) --分隔符号)returns intasbegin declare @location int declare @start原创 2009-12-04 13:30:00 · 992 阅读 · 0 评论 -
数据库分页
set ANSI_NULLS ONset QUOTED_IDENTIFIER ONgo-- =============================================-- Author: -- Create date: -- Description: -- =============================================ALTER PROCEDU原创 2009-11-27 11:21:00 · 683 阅读 · 0 评论 -
sql中datediff和dateadd的用法
通常,你需要获得当前日期和计算一些其他的日期,例如,你的程序可能需要判断一个月的第一天或者最后一天。你们大部分人大概都知道怎样把日期进行分割(年、月、日等),然后仅仅用分割出来的年、月、日等放在几个函数中计算出自己所需要的日期! 在这篇文章里,我将告诉你如何使用DATEADD和DATEDIFF函数来计算出在你的程序中可能你要用到的一些不同日期。原创 2010-01-20 09:38:00 · 724 阅读 · 0 评论 -
kettle教程
http://pan.baidu.com/share/link?shareid=3803402535&uk=3792525916转载 2013-07-27 13:42:59 · 983 阅读 · 0 评论