随笔分类 - sqlserver
摘要:设置数据库为SINGLE_USER模式,减少锁定时间 ALTER DATABASE dbname SET SINGLE_USER WITH ROLLBACK IMMEDIATE ALTER DATABASE dbname SET ALLOW_SNAPSHOT_ISOLATION ON ALTER D
阅读全文
摘要:raiserror 的作用: raiserror 是用于抛出一个错误。[ 以下资料来源于sql server 2005的帮助 ] 其语法如下: RAISERROR ( { msg_id | msg_str | @local_variable } { ,severity ,state } [ ,arg
阅读全文
摘要:DECLARE @Name NVARCHAR (50)SET @Name = 'abcd.12345.efght' DECLARE @Position INT --sql first indexofSET @Position = CHARINDEX('.', @Name);SELECT SUBSTR
阅读全文
摘要:使用SP_XML_PREPAREDOCUMENT来读取 Xml 文本。读取作为输入提供的 XML 文本,然后使用 MSXML 分析器 (Msxmlsql.dll) 对其进行分析,并提供分析后的文档供使用。分析后的文档对 XML 文档中的各节点(元素、属性、文本和注释等)的树状表示形式。为格式正确的 ...
阅读全文
摘要:--提取分页数据,返回总记录数 ALTER procedure [dbo].[sp_Common_GetDataPaging_ReturnDataCount] ( @SqlString varchar(max), --查询语句 @PageNumber int, --当前的页码 @Pa...
阅读全文
摘要:CREATE TABLE #tablespaceinfo ( nameinfo VARCHAR(500) , rowsinfo BIGINT , reserved VARCHAR(20) , datainfo VARCHAR(20) , ind...
阅读全文
摘要:--exec BackUPDatabase_LeeHG语句参数说明:-- 示例:exec BackUPDatabase_LeeHG '参数一','参数二','参数三','参数四','参数五',' 参数六'-- 参数一:需要备份数据库的名称-- 参数二:备份文件存放路径,可以是网络...
阅读全文
摘要:一般情况下,我们用SELECT这些查询语句时,都是针对的一行记录而言,如果要在查询分析器中对多行记录(即记录集)进行读取操作时,则需要使用到游标或WHILE等循环游标的类型: 1、静态游标(不检测数据行的变化) 2、动态游标(反映所有数据行的改变) 3、仅向前游标(不支持滚动) 4、键集游标...
阅读全文
摘要:--提取分页数据,返回总记录数 Create procedure [dbo].[sp_Common_GetDataPaging_ReturnDataCount] ( @SqlString varchar(max), --查询语句 @PageNumber int, --当前的页码 ...
阅读全文
摘要:--提取分页数据,返回总记录数 Createprocedure [dbo].[sp_Common_GetDataPaging_ReturnDataCount] ( @SqlString varchar(max), --查询语句 @PageNumber int, --当前的页码 @...
阅读全文
摘要:Excel文件:序号姓名内部电话住址1小李1234……2小王5678……3小张2345(国内长途)…………………………如上结构的Excel文件,用SQL Server的“导入数据”功能来将其导入SQL数据库中。结果发现在“内部电话”列中,所有带有文字的电话号,被导入后字段值全部为NULLSQL数据表:序号姓名内部电话住址1小李1234……2小王5678……3小张NULL…………………………通过在SQL中设置(在导入导出中,目的方选择新建表),发现数据库默认将“内部电话”列识别为float型,因为其新建表对应字段就是float类型的。看来是SQL认为包含文字的那些电话号码无法转换成数字,所以是无
阅读全文
摘要:SELECT count(1) 存储过程个数FROM sys.sysobjectsWHERE type = 'P'GOSELECT count(1) 视图个数FROM sys.sysobjectsWHERE type = 'V'GOSELECT count(1) 表个数FROM sys.sysobjectsWHERE type = 'U'GO
阅读全文
摘要:intersect 就像数学中的交集一样, select nam from tb_table1 intersect select name from tb_table2 查询的是两个数据集的交集 ,
阅读全文
摘要:select IDENTITY(int,1,1) as SortID from tb_order仅当 SELECT 语句中有 INTO 子句时,才能使用 IDENTITY 函数。select IDENTITY(int,1,1) as SortID,* into #Temp from tb_order无法使用 SELECT INTO 语句将标识列添加到表 '#Temp',该表的列 'ID' 已继承了标识属性。 这样写才是正确的,select 后面不能包含*,不能包含ID号,必须写字段名select IDENTITY(int,1,1) as SortID,Order
阅读全文
摘要:ALTER procedure [dbo].[sp_Common_GetDataPaging_ReturnDataCount] ( @PageNumber int, --当前的页码 @PageSize int, --每页显示的数据量 @DataCount int out --总数据量 ) as begindeclare @BNum int declare @ENum int set @BNum = (@PageNumber-1)*@PageSize+1 set @ENum = @PageNumber*@PageSizeselect ROW_NUMBER() over( order by id.
阅读全文
摘要:表名:tb_WebSitePromotion字段1:ID字段2:WebSiteInfoID网站编号字段3:StartDate生效开始日期字段4:EndDate生效结束日期select a.*from tb_WebSitePromotion as ainner join tb_WebSitePromotion as b on a.WebSiteInfoID=b.WebSiteInfoID and a.IDb.ID and ((a.StartDate >=b.StartDate and a.StartDate=a.StartDate and b.StartDate<isnull(a.E
阅读全文
摘要:该存储过程必须在master 数据库下执行 调用 在当前数据库下 调用 如 sp_killspid 数据库名Create proc sp_killspid (@dbname varchar(20)) as begin declare @sql nvarchar(500) declare @spid int set @sql='declare getspid cursor for select spid from sysprocesses where dbid=db_id('''+@dbname+''')' exec (@sql)
阅读全文
摘要:SELECT 表名 = d.name ,表说明 = case when a.colorder=1 then isnull(f.value,'') else '' end,字段序号 = a.colorder,字段名 = a.name,标识 = case when COLUMNPROPERTY( a.id,a.name,'IsIdentity')=1 then '√'else '' end,主键 = case when exists(SELECT 1 FROM sysobjects where xtype='P
阅读全文
摘要:with temp as(select *From tb_order where Auditing=2 and AuditingTime>='2013-04-01' and Flag=2)select *from temp where EbayAccountID=21 相当于临时表 temp 分析器可以智能提示 临时表却不能。临时表select * into #temp From tb_order where Auditing=2 and AuditingTime>='2013-04-01' and Flag=2select * From #temp
阅读全文
摘要:a. 一个月的第一天SELECT DATEADD(mm, DATEDIFF(mm,0,getdate()), 0)b. 本周的星期一SELECT DATEADD(wk, DATEDIFF(wk,0,getdate()), 0)c. 一年的第一天SELECT DATEADD(yy, DATEDIFF(yy,0,getdate()), 0)d. 季度的第一天SELECT DATEADD(qq, DATEDIFF(qq,0,getdate()), 0)e. 上个月的最后一天SELECT dateadd(ms,-3,DATEADD(mm, DATEDIFF(mm,0,getdate()), 0))f.
阅读全文