拥有SqlServer标签的文章
SqlServer

SQL Server 2008存储结构之GAM、SGAM

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

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

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 2150

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 2150

SqlServer

SQL Server--索引

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

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

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 2143

SqlServer

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

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

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

SqlServer

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

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

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

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 2136

SqlServer

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

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

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

SqlServer

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

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

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

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 2127

SqlServer

sqlserver 自学笔记 函数实训 学分学期转换函数

设计目的:1.运用sql基本知识,编写学期转换函数。2.运用sql基本知识,编写学分转换函数,将考试成绩转换为学分3.通过上述函数的编写与调试,熟练掌握sql函数的编写、调试与使用方法。设计内容:1.根据需求,分析并设计函数的功能、入口参数和返回值。①学分转换函数在学籍管理中,需要根据学生选修课程的成绩,查询所获学分情况,如果成绩大于等于60分,就可以获得该课程对应的学分,否则所得学分为0.这种需求可以通过函数实现,根据要求,该函数的功能以及入口参数和返回

系统 2019-08-12 01:54:37 2126

SqlServer

SQL Server with(nolock)详解

原文:SQLServerwith(nolock)详解大家在写查询时,为了性能,往往会在表后面加一个nolock,或者是with(nolock),其目的就是查询是不锁定表,从而达到提高查询速度的目的。什么是并发访问:同一时间有多个用户访问同一资源,并发用户中如果有用户对资源做了修改,此时就会对其它用户产生某些不利的影响,例如:1:脏读,一个用户对一个资源做了修改,此时另外一个用户正好读取了这条被修改的记录,然后,第一个用户放弃修改,数据回到修改之前,这两个不

系统 2019-08-12 01:33:19 2126

SqlServer

MSSQL 一个循环插入的列子

今天在群里看到有人提问怎么实现如下图的功能,很明显,如果我们手工插的话,费时费力,那何不来个循环判断插入了,这使我想起了while语句说做就做于是写出了下面的代码:createtablerq(dtdatetime,wbvarchar(5))declare@dtdatetimedeclare@nintset@dt='2011-12-1'set@n=0while@n<10begin-----看情况修改10这个数据insertintorqselectdatead

系统 2019-08-12 01:54:01 2122