拥有SqlServer标签的文章
SqlServer

获取某几个分类下的前N条数据 mssql语句

方案1:(SELECTtop10*FROM表wheretype=3)UNIONALL(SELECTtop10*FROM表wheretype=4)UNIONALL(SELECTtop10*FROM表wheretype=5)方案2:select*from(select*,row_number()over(partitionbytypeorderbyiddesc)asRNfrom表twheretypein(3,4,5))awherern<=10;获取某几个分类下

系统 2019-08-12 01:54:14 2001

SqlServer

SQLServer2005分解并导入xml文件

测试环境SQL2005,windows2003DECLARE@idocint;DECLARE@docxml;SELECT@doc=bulkcolumnFROMOPENROWSET(BULK'D:\test.xml',SINGLE_BLOB)ASxEXECsp_xml_preparedocument@IdocOUTPUT,@docSELECT*into#tempFROMOPENXML(@Idoc,'/Root/Item',2)WITH([ID]varchar

系统 2019-08-29 22:13:56 2000

SqlServer

SQL Server Business Intelligence Development

公司.Net开发使用的是VisualStudio2010,相应的TFS也使用2010版本。而安装SQLServer时自带的SQLServerBusinessIntelligenceDevelopmentStudio却是VisualStudio2008。最近在做一些Report,发现不能使用TFS,开发很不方便。查找资料研究后发现如果要在VisaulStudio2008中使用TFS2010需做以下工作:1.安装TeamExplorer2008安装SQLSer

系统 2019-08-12 01:32:42 2000

SqlServer

SQL Server 语法收集

时间转换,转换成年月日,用系统函数转换year(CreateTime)=2012month(CreateTime)=9day(CreateTime)=121--获取表中字段的名称2selecttop1col_name(object_id('表名'),1)fromsysobjects3--把col_name(object_id('表名'),1)中的1依次换成2,3,4,5,6…就可得到所有的字段名称。1--获取当前所有的驱动器2execmaster.dbo.

系统 2019-08-12 01:52:06 1999

SqlServer

行转列:SQL SERVER PIVOT与用法解释

原文:行转列:SQLSERVERPIVOT与用法解释在数据库操作中,有些时候我们遇到需要实现“行转列”的需求,例如一下的表为某店铺的一周收入情况表:WEEK_INCOME(WEEKVARCHAR(10),INCOMEDECIMAL)我们先插入一些模拟数据:INSERTINTOWEEK_INCOMESELECT'星期一',1000UNIONALLSELECT'星期二',2000UNIONALLSELECT'星期三',3000UNIONALLSELECT'星期

系统 2019-08-12 01:33:23 1994

SqlServer

SQL Server--索引

一,索引的概述1,概念:数据库索引是对数据表中一个或多个列的值进行排序的结构,就像一本书的目录一样,索引提供了在行中快速查询特定行的能力.2,优缺点:2.1优点:1,大大加快搜索数据的速度,这是引入索引的主要原因.2,创建唯一性索引,保证数据库表中每一行数据的唯一性.3,加速表与表之间的连接,特别是在实现数据的参考完整性方面特别有意义.4,在使用分组和排序子句进行数据检索时,同样可以减少其使用时间.2,2缺点:1,索引需要占用物理空间,聚集索引占的空间更大

系统 2019-08-29 22:30:31 1991

SqlServer

SQL Server中的convert来转换时间

sqlserver-ConvertDateTime格式的转换(转)将sqlserver中table表的[datetime]字段值‘2007-11-0716:41:35.033’改为‘2007-11-0700:00:00‘去除了时分秒.[datetime]字段要为datetime类型的哦.UPDATEtableSET[datetime]=Convert(char(11),[datetime],120)获取当前日期利用convert来转换成我们需要的datet

系统 2019-08-29 23:30:43 1988

SqlServer

SQL Server发送邮件的存储过程

SQLServer发送邮件的存储过程对于DB中的资料变更,有时会有寄Mail通知相关人员的需求。下面是实现这一功能的一种方法1.建立发Mail的存储过程CREATEPROCEDURE[dbo].[sp_send_mail]@Fromvarchar(100),@Tovarchar(2000),@Subjectvarchar(2000)="",@Bodyvarchar(4000)="",@BCCvarchar(4000)=""/****************

系统 2019-08-12 01:55:38 1987

SqlServer

SQL Server 2008存储结构之GAM、SGAM

【IT168专稿】谈到GAM和SGAM,我们不得不从数据库的页和区说起。一个数据库由用户定义的空间构成,这些空间用来永久存储用户对象,例如数据库管理信息、表和索引。这些空间被分配在一个或多个操作系统文件中。当我们创建一个数据库的时候,例如以缺省的方式CREATEDATABASETESTDB,SQLServer自动帮我们创建好如下两个数据库文件。这两个数据文件是实实在在的操作系统文件,其中一个是叫行数据文件,用来存储数据库的各种对象,另外一个是日志文件,从来

系统 2019-08-12 01:33:24 1987

SqlServer

SQL Server 2008中的代码安全(二):DDL触发器

SQLServer2008中SQL应用系列--目录索引本文主要涉及DDL触发器和登录触发器的应用实例。MicrosoftSQLServer提供两种主要机制来强制使用业务规则和数据完整性:约束和触发器。触发器为特殊类型的存储过程,可在执行语言事件时自动生效。SQLServer包括三种常规类型的触发器:DML触发器、DDL触发器和登录触发器。1、当数据库中发生数据操作语言(DML)事件时将调用DML触发器。DML事件包括在指定表或视图中修改数据的INSERT语

系统 2019-08-29 23:09:51 1985

SqlServer

SQLserver 2000分页另类通用解决方案

存储过程分页大都会用到这样的语句SELECT*,row_number()OVER(ORDERBYidDESC)ASrowNumberFROM但是SQL2000中不支持row_number()需要使用select....into配合临时表和IDENTITY(data_type[,seed,increment])AScolumn_name来作为替代方案。语句像下面这样SELECT*,identity(int,1,1)asrowNumberINTO#tempFR

系统 2019-08-12 01:33:48 1985

SqlServer

SQL Server 2008 R2 安全性专题(一):安全原则

原文:SQLServer2008R2安全性专题(一):安全原则本系列主要专注与SQLServer2005以后的DBMS,由于本人工作使用2008R2,所以目前就针对2008R2来做说明:关于保护SQLServer安全的原则:最小权限原则CIA三角深度防护一、最小权限原则:只授予所需的最小权限。最简单的解决方案是让用户成为固有数据库角色:db_datareader成员,然后创建select权限创建数据库角色,并且只授权用户需要访问的表,让用户成为这个新角色的

系统 2019-08-12 01:51:35 1984

SqlServer

SQL Server 2008中的代码安全(七):证书加密

SQLServer2008中SQL应用系列--目录索引证书可以在数据库中加密和解密数据。证书包含密钥对、关于证书拥有者的信息、证书可用的开始和结束过期日期。证书同时包含公钥和密钥,前者用来加密,后者解密。SQLServer可以生成它自己的证书,也可以从外部文件或程序集载入。因为可以备份然后从文件中载入它们,证书比非对称密钥更易于移植,而非对称密钥却做不到。这意味着可以在数据库中方便地重用同一个证书。注意:证书和非对称密钥同样的消耗资源。我们看一组例子:示例

系统 2019-08-29 23:28:59 1983

SqlServer

SQL Server基础概念--触发器 <>

触发器是一种实施复杂的完整性约束的特殊存储过程。它在SQLServer进行某个特定的表修改时由SQLServer自动执行。触发器一般用于加强数据库的某些使用规则。当普通的约束(包括CHECK机制、DEFAULT机制、RULE机制)不足于加强数据的完整性时,就可以考虑使用触发器。触发器对于那些为不同的商务软件提供后台数据服务的大型系统特别有用。因为触发器可以为数据库建立独立于具体客户端软件的完整性规则。触发器和表是紧密联系在一起的,任何触发器都是在特定的表上

系统 2019-08-12 01:52:31 1981

SqlServer

灵活运用 SQL Server 数据库的 FOR XML PATH

起因¶今天欧阳冰提出一个报表需求,其核心部分可以简化为这样一张表格:调度单号与调度单相关的多张作业单号0010001/0002/000300200040030005/0006/0007/0008从上述表格可以看出,如何把调度单的多行作业单明细的单号合并到同一行的一个字段中,并用斜杠/分隔,是这个需求的难点。解决¶于是到网上去搜索了一下,有这样一篇文章:灵活运用SQLSERVERFORXMLPATH其中介绍了SQLServer数据库的FORXMLPATH关键

系统 2019-08-12 01:52:02 1979