随笔分类 - MSServer数据库杂项
摘要:事务管理器可用。 (异常来自 HRESULT:0x8004D01B) 说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。异常详细信息: System.Runtime.InteropServices.COMException: 事务管理器可用。 (异常来自 HRESULT:0x8004D01B)后来通过网络找到了解决方案:http://topic.csdn.net/u/20080317/10/47a38236-a8e3-4129-bb8e-818d4951d117.html这是因为"Distributed Tr
阅读全文
摘要:--查看所有的触发器中是否包含指定文本select name,text from sysobjects t,syscomments m where type='TR' and m.id=t.id and text like '%T_FY_VARYLISTING%' and t.name in (SELECT name FROM SYSOBJECTS WHERE name LIKE 'TR%') --查看所有的存储过程中是否包含指定文本select name,text from sysobjects t,syscomments m where ty
阅读全文
摘要:大多数SQL Server表需要索引来提高数据的访问速度,如果没有索引,SQL Server要进行表格扫描读取表中的每一个记录才能找到索要的数据。索引可以分为簇索引和非簇索引,簇索引通过重排表中的数据来提高数据的访问速度,而非簇索引则通过维护表中的数据指针来提高数据的索引。 索引的体系结构: 为什么要不断的维护表的索引?首先,简单介绍一下索引的体系结构。SQL Server在硬盘中用8KB页面在数据库文件内存放数据。缺省情况下这些页面及其包含的数据是无组织的。为了使混乱变为有序,就要生成索引。生成索引后,就有了索引页和数据页,数据页保存用户写入的数据信息。索引页存放用于检索列的数据值清...
阅读全文
摘要:T-SQL对字符串的处理能力比较弱,比如我要循环遍历象1,2,3,4,5这样的字符串,如果用数组的话,遍历很简单,但是T-SQL不支持数组,所以处理下来比较麻烦。下边的函数,实现了象数组一样去处理字符串。一,用临时表作为数组。createfunctionf_split(@cvarchar(2000),@splitvarchar(2))returns@ttable(colvarchar(20))asbeginwhile(charindex(@split,@c)<>0)begininsert@t(col)values(substring(@c,1,charindex(@split,@c
阅读全文
摘要:下表显示了 .NET Framework 类型、DbType 和 SqlDbType 枚举以及 SqlDataReader 的访问器方法。SQL Server 数据库引擎类型.NET Framework 类型SqlDbType 枚举SqlDataReader SqlTypes 类型化访问器DbType 枚举SqlDataReader DbType 类型化访问器bigintInt64BigIntGetSqlInt64Int64GetInt64binaryByte[]VarBinaryGetSqlBinaryBinaryGetBytesbitBooleanBitGetSqlBooleanBoole
阅读全文
摘要:SELECT DISTINCT b.VendorName,b.SysNo FROM shipType a WITH(NOLOCK) INNER JOIN vendor b WITH(NOLOCK) ON a.MerchantSysNo=b.SysNo1.select * from classinfoselect *,row_number() over(partition by className order by id) c from classinfoselect * from( select *,row_number() over(partition by className order
阅读全文
摘要:总结如下:我创建了一个表,数据如下,SQL> select * from test; A1 A2---------- ---------- 1 3 2 4 3 2 3 5 4 2然后用rank () over,SQL> select a1,a2,rank () over (order by a1) rank from test; A1 A2 RANK---------- ---------- ---------- 1 3 1 2 4 2 3 2 3 3 5 3 4 2 5SQL> select a1,a2,rank () over (order by a2) rank fro
阅读全文
摘要:1.where year(A) = year(B) AND month (A) = month(B) AND day(A) = day(B) 实际上可以用更简洁的方式实现where datediff(day,A,B) = 0 同样,要比较A、B是否同年同月的方法是:where datediff(month,A,B) = 0 2.在 ms sql server 的日期函数中可以用"0"来代替日期,"0"表示的日期是1900-01-01 00:00:000。3.去掉getdate() 函数返回的时、分、秒信息 dateadd(day,datediff(day,0,getdate()),0)4.显示
阅读全文
摘要:SQL Server 2000中,有三个比较类似的功能:他们分别是:SCOPE_IDENTITY、IDENT_CURRENT 和 @@IDENTITY,它们都返回插入到 IDENTITY 列中的值。nbsp; ; IDENT_CURRENT 返回为任何会话和任何作用域中的特定表最后生成的标识值。IDENT_CURRENT 不受作用域和会话的限制,而受限于指定的表。IDENT_CURRENT 返回为...
阅读全文
摘要:两种实现分页的sql语句第一种,是我之前经常用的.not in其中 '2' 代表这每页显示的信息条数, '4' : 比如页面上的当前页是3页,就是(3-1)*(每个条数)记得如果要排序的话在子查询中排序和筛选条件第二种:用sqlserver2005以上版本中的函数row_number()使用row_number(),目的是让数据以流水号的方式排列,比如1,2,3,4,5.....这样的话 a 表会...
阅读全文
摘要:Sql Server 中一个非常强大的日期格式化函数Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AMSelect CONVERT(varchar(100), GETDATE(), 1): 05/16/06Select CONVERT(varchar(100), GETDATE(), 2): 06.05.16Select C...
阅读全文