
sqlserver
nannan408
这个作者很懒,什么都没留下…
展开
-
sqlserver 子存储过程嵌套的解决方案
1.前言。 sqlserver2005的存储过程,在完整的单独过程中嵌套用游标是没问题的,但是,如果主存储过程有游标,子存储过程再定义游标将不能正确执行。 怎么解决这个问题呢? oracle可以用select into 等loop循环取代游标,sqlserver也有类似功能,但sqlserver这个功能不完善,只能进行结果集的数量判断,不能有游标功能。不过这用在子存储过程的查询,已经足够...2013-07-19 18:18:13 · 1147 阅读 · 0 评论 -
sqlserver 分组取前n条记录
[b]1.前言。[/b] 这个有两种方法.1是用in,2是用row_number(),可根据情况来用。两种都可以。[b]2.举例。[/b]方法1:[code="java"]select a.* from table1 a where a.column1 in (select max(column1) from table1 group by a.column2,co...2013-10-18 15:25:05 · 397 阅读 · 0 评论 -
sqlserver2005判断临时表是否存在。
Way 1if(exists(select name from tempdb..sysobjects where name like'%temptab%' and type='U')) drop table #temptabWay 2 www.2cto.com if exists (select * from tempdb.dbo.sysobjects where id =...原创 2013-09-12 09:12:18 · 149 阅读 · 0 评论 -
sqlserver2005 自定义split,字符串转数组,逗号分隔的形式保存
1.前言. sqlserver2005没有splite函数,所以只能自己写。下面实现了一个字段存放1天的1440个点的数据,数据以int类型保存并以逗号分隔,如1,2,3,4,5,7,9.2.程序[code="java"]ALTER FUNCTION [dbo].[getDelays]( @DELAYS varchar(8000), @DELAY int,...2013-08-22 14:19:35 · 1100 阅读 · 0 评论 -
SQL语句获取各种时间的方法
1. 当前系统日期、时间select getdate() 2. dateadd 在向指定日期加上一段时间的基础上,返回新的 datetime 值例如:向日期加上2天select dateadd(day,2,'2004-10-15') --返回:2004-10-17 00:00:00.0003. datediff 返回跨两个指定日期的日期和时间边界数。select dated...原创 2013-08-14 10:03:22 · 464 阅读 · 0 评论 -
sqlserver2014如何创建内存表和性能分析
1.如题。 2014主要是多了可更新的列索引和内存表。下面是我在64位企业版使用中创建内存表的过程和遇到的问题。2.如何创建内存表。 (1)在属性中新建内存组,然后用sql查询器创建文件组要放的文件,实际上内存组的文件是个路径,这步没有你创建内存表是失败的。[code="java"]ALTER DATABASE testADD FILE( NAME = '...2014-05-28 16:12:18 · 410 阅读 · 0 评论 -
sqlserver创建修改主密钥---备份数据库用到
1.前言。 如题。注意,直接删可能删不掉的。创建主密钥后最好备份下脚本或者做好记录,忘记了主密钥就不能再打开了。2.创建修改主密钥[code="java"]--(1)创建主密钥create MASTER KEY ENCRYPTION BY PASSWORD = '123456'; ---(2)以下为修改主密钥OPEN MASTER KEY DECRYPTION B...原创 2014-01-07 15:59:21 · 1173 阅读 · 0 评论 -
sqlserver如何修改primary的路径和日志路径?
[b]1.前言。[/b] 对于已经建库的数据库来说,这个有点麻烦,最好刚建库的时候就不要分配到c盘。[b]2.步骤[/b] (1)先备份好你的数据库,防止误操作丢失! (2)先拷贝你的mdf和ldf到空间比较大的磁盘,如d:\data1,这里的路径自己去创建一个。把mdf和ldf两个文件拷到d:\data1。 (3).分离数据库[code="java"]EXEC s...2014-01-03 15:06:00 · 337 阅读 · 0 评论 -
sqlserver如何清除死锁?
1.前言。 如题。2.代码。以下代码可以直接执行。[code="java"]Exec dbo.sp_lockbegindeclare @i int--定义要清除的线程iddeclare @SQL nvarchar(3000);set @i =0;while(@i...2013-12-31 18:17:00 · 1006 阅读 · 0 评论 -
sqlserver2005死锁解决方案
1.如题2.代码[code="java"]create proc [dbo].[p_lockinfo]@kill_lock_spid bit=1, --是否杀掉死锁的进程,1 杀掉, 0 仅显示@show_spid_if_nolock bit=1 --如果没有死锁的进程,是否显示正常进程信息,1 显示,0 不显示asdeclare @count int,@s nvarc...原创 2014-04-01 19:10:47 · 230 阅读 · 0 评论