sqlserver
nannan408
这个作者很懒,什么都没留下…
展开
-
sqlserver 子存储过程嵌套的解决方案
1.前言。 sqlserver2005的存储过程,在完整的单独过程中嵌套用游标是没问题的,但是,如果主存储过程有游标,子存储过程再定义游标将不能正确执行。 怎么解决这个问题呢? oracle可以用select into 等loop循环取代游标,sqlserver也有类似功能,但sqlserver这个功能不完善,只能进行结果集的数量判断,不能有游标功能。不过这用在子存储过程的查询,已经足够...2013-07-19 18:18:13 · 1100 阅读 · 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 · 375 阅读 · 0 评论 -
sqlserver2005判断临时表是否存在。
Way 1 if(exists(select name from tempdb..sysobjects where name like'%temptab%' and type='U')) drop table #temptab Way 2 www.2cto.com if exists (select * from tempdb.dbo.sysobjects where id =...原创 2013-09-12 09:12:18 · 133 阅读 · 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 · 1069 阅读 · 0 评论 -
SQL语句获取各种时间的方法
1. 当前系统日期、时间 select getdate() 2. dateadd 在向指定日期加上一段时间的基础上,返回新的 datetime 值 例如:向日期加上2天 select dateadd(day,2,'2004-10-15') --返回:2004-10-17 00:00:00.000 3. datediff 返回跨两个指定日期的日期和时间边界数。 select dated...原创 2013-08-14 10:03:22 · 441 阅读 · 0 评论 -
sqlserver2014如何创建内存表和性能分析
1.如题。 2014主要是多了可更新的列索引和内存表。下面是我在64位企业版使用中创建内存表的过程和遇到的问题。 2.如何创建内存表。 (1)在属性中新建内存组,然后用sql查询器创建文件组要放的文件,实际上内存组的文件是个路径,这步没有你创建内存表是失败的。 [code="java"] ALTER DATABASE test ADD FILE ( NAME = '...2014-05-28 16:12:18 · 391 阅读 · 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 · 1128 阅读 · 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 · 313 阅读 · 0 评论 -
sqlserver如何清除死锁?
1.前言。 如题。 2.代码。 以下代码可以直接执行。 [code="java"] Exec dbo.sp_lock begin declare @i int--定义要清除的线程id declare @SQL nvarchar(3000); set @i =0; while(@i...2013-12-31 18:17:00 · 975 阅读 · 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 不显示 as declare @count int,@s nvarc...原创 2014-04-01 19:10:47 · 209 阅读 · 0 评论