SQLServer汇总数据之计算总计数据虽然ReportinService能够轻松地计算总计和小计,而无须查询做额外的工作。但实践表明,向应用程序提供总计,让其在窗体或网页底端显示它可能很有用。接下来的三个聚合命令将可以提供很好的解决方案。一、Rollup与Cube两者基本语法一致:groupby....withrollup|cube聚合函数Rollup和Cube在一个独立的行中计算出小计和总计,并在分组依据列中包含空值,以指出对应的值为总计。Rollup
系统 2019-08-12 01:53:33 2073
SQLServer数据库基础编程ØGo批处理语句用于同时执行多个语句Ø使用、切换数据库usemastergoØ创建、删除数据库方法1、--判断是否存在该数据库,存在就删除if(exists(select*fromsys.databaseswherename='testHome'))dropdatabasetestHomego--创建数据库,设置数据库文件、日志文件保存目录createdatabasetestHomeon(name='testHome',fi
系统 2019-08-12 01:52:25 2071
看看跟上一个版本有啥不一样的。每个技术领域关注的角度可能都略有不同,这里主要从一个BI从业人员的角度来观察SQLServer2012在安装以及第一印象上有什么变化。建议下载iso文件:SQLFULL_ENU.iso可以直接用rar解压,方便硬盘安装。解压后的目录,双击setup.exe安装。安装起始界面,跟上一个版本变化不大。点击Installation,然后再点击右边第一项。留意到Stand-alone,这个词在MOSS里也见过。这一步没有太大的变化,似
系统 2019-08-12 01:52:22 2071
原文:SQLServer作业监控在讲解SQLServerAgentJobs之前,先要讲解msdb。Msdb是SQLServer的系统数据库之一,用于存储SQLServer的配置、元数据等信息。包括:lSQLServerAgentJobs,JobSteps,Jobschedules,Alerts,Operators,等等。lServiceBroker,LogShipping,Backups/restore信息,维护计划、数据库邮件、基于策略管理信息等等。lS
系统 2019-08-12 01:51:30 2070
在sqlserver中来计算一个字符串在另一个字符串中出现的次数,通常会去用循环来匹配,然后计算出出现的次数,这样的效能不是很高。现在讲一种比较简单的方法也能实现同样的功能,思路如下:1:设有字符串str1str2,现在要求str1在str2中出现的次数。2:将str1后面加上一个字符,如:str1+'_',设更改后的字符串為str3。3:在str2中如果有子串str1,将之替换成str3,替换后的字符串设為str4。4:str4与str2的长度之差即為s
系统 2019-08-12 01:51:30 2068
1.在sp_configure配置xp_cmdshell可运行2.创建一个账号test,用来执行xp_cmdshell但是非sysadmin权限3.用grant把xp_cmdshell权限赋予test4.创建代理账号,这个账号是windows账号。5.在sqlserver中设置代理账号,右击实例属性安全性下的代理中填入windows账号密码或者使用sp_xp_cmdshell_proxy_account设置代理账号SQLServer非sysadmin调用扩
系统 2019-08-12 01:33:32 2068
1.有標識列時的方案:--1.利用NotIn和SELECTTOP分页语句形式:SELECTTOP10*FROMTestTableWHERE(IDNOTIN(SELECTTOP20idFROMTestTableORDERBYid))ORDERBYIDSELECTTOP页大小*FROMTestTableWHERE(IDNOTIN(SELECTTOP页大小*(页数-1)idFROM表ORDERBYid))ORDERBYID--2.利用ID大于多少和SELECTT
系统 2019-08-12 01:54:48 2067
SQLServer数据库安全--创建登陆用户--createloginlogin_namefromwindowswithdefault_database=database|default_language=language;createlogin[localhost\hoojo-pc]fromwindowswithdefault_database=testHome;--创建登陆用户--createloginlogin_namewithpassword='p
系统 2019-08-12 01:55:01 2066
1、数据库压缩日志GOALTERDATABASEwebsiteSETRECOVERYSIMPLE;--设置简单恢复模式GODBCCSHRINKFILE(website_Log,1);GOALTERDATABASEwebsiteSETRECOVERYFULL;--恢复为原模式GO2、重建所有索引execsp_msforeachtable'DBCCDBREINDEX(''?'')'重建索引DECLARE@namevarchar(100)DECLAREautho
系统 2019-08-12 01:54:32 2066
数据库表A有十万条记录,查询速度本来还可以,但导入一千条数据后,问题出现了。当选择的数据在原十万条记录之间时,速度还是挺快的;但当选择的数据在这一千条数据之间时,速度变得奇慢。凭经验,这是索引碎片问题。检查索引碎片DBCCSHOWCONTIG(表),得到如下结果:DBCCSHOWCONTIG正在扫描'A'表...表:'A'(884198200);索引ID:1,数据库ID:13已执行TABLE级别的扫描。-扫描页数......................
系统 2019-08-12 01:53:40 2065
特点:一次查询,数据库只返回一页的数据。而不是取出所有的数据。说明:pagesize:每页显示记录数cureentpage:当前页数select*from(selectTOPpagesize*FROM(SELECTTOPpagesize*cureentpage*fromuser_tableORDERBYidASC)asaSysTableORDERBYidDESC)asbSysTableORDERBYidASC例子说明:假如数据库表如下:user_table
系统 2019-08-12 01:53:42 2063
什么是主键?在数据库中,常常不只是一个表,这些表之间也不是相互独立的。不同的表之间需要建立一种关系,才能将它们的数据相互沟通。而在这个沟通过程中,就需要表中有一个字段作为标志,不同的记录对应的字段取值不能相同,也不能是空白的。通过这个字段中不同的值可以区别各条记录。就像我们区别不同的人,每个人都有名字,但它却不能作为主键,因为人名很容易出现重复,而身份证号是每个人都不同的,所以可以根据它来区别不同的人。数据库的表中作为主键的字段就要像人的身份证号一样,必须
系统 2019-08-12 01:52:31 2062
以前拼接的写法set@sql='select*fromtablewhere1=1'if(@addDateisnotnull)set@sql=@sql+'andaddDate='+@addDate+''if(@name<>''andisnotnull)set@sql=@sql+'andname='+@name+''exec(@sql)下面是不采用拼接SQL字符串实现多条件查询的解决方案第一种写法是感觉代码有些冗余if(@addDateisnotnull)an
系统 2019-08-12 01:33:49 2062
原文:灵活运用SQLSERVERFORXMLPATHFORXMLPATH有的人可能知道有的人可能不知道,其实它就是将查询结果集以XML形式展现,有了它我们可以简化我们的查询语句实现一些以前可能需要借助函数活存储过程来完成的工作。那么以一个实例为主.一.FORXMLPATH简单介绍那么还是首先来介绍一下FORXMLPATH,假设现在有一张兴趣爱好表(hobby)用来存放兴趣爱好,表结构如下:接下来我们来看应用FORXMLPATH的查询结果语句如下:SELEC
系统 2019-08-12 01:52:02 2061
原文:Sqlserver数据库中,纯SQL语句查询、执行单引号问题。在默认值情况下,select'abc',Titilefromtb_Name;---输出内容是abc;如果想输出单引号'abc,需要使用select'''abc',Titilefromtb_Name;---这里用三个单引号'''abc;select'''abc''',TitlefromtbName;输出内容是'abc';两边带有单引号;谨记:如果字符串包含单引号,则需要在单引号前再增加一个单
系统 2019-08-12 01:33:02 2060