-
SqlServer2000行转列的实现(横排)
我们用到的表结构如下:三张表的关系为:现有的测试数据为:我们需要的结果是:复制代码代码如下:DECLARE@strSQLVARCHAR(8000)SET@strSQL='SELECTt.STUNAME[姓名]'SELECT@strSQL=@strSQL+',SUM(CASEs.SNAMEWHEN'''+SNAME+'''THENg.[Score]END)['+SNAME+']'FROM(SELECTSNAMEFROM[Subject])AStmpSELECT@strSQL=@strSQL+'FROM[Score]g,[Subject]s,[Student]tWHEREg.SID=s.SIDANDg.STUID=t.STUIDGROUPBYt.STUID,t.STUNAME'EXEC(@strSQL)SQLSERVER2005中,已经有实现此功能的内置方法了。...
数据库操作教程 2022-09-23 20:12:44 -
SQLServer"错误21002:[SQL-DMO]用户*已经存在问题解决
错误21002:[sql-dmo]用户***已经存在错误此错误的原因多是因为将MSSQL备份移植到另一服务器还原时出现。主要原因是原来的备份还原时保留了原用户的信息,导致产生孤立用户解决方法:1.打开mssql企业管理器→数据库→展开出问题的数据库如"mydb"→"用户"→在右侧窗口中选择出问题的用户名如:"***"→右击鼠标→删除2.企业管理器→安全性→登录→在右侧窗口中选择出问题的用户名如:"***"→属性→数据库访问→点选"mydb"→勾选下方的"public"和"db-owner"→确定...
数据库操作教程 2022-09-23 20:12:42 -
SQLServer2017Developer的下载、安装、配置及SSMS的下载安装配置(图文教程详解)
最近开学了(线上教学),老师建议我们安装使用SQLServer来学习《数据库原理》课程,于是就有了这篇博客哈哈(๑¯∀¯๑)然后因为SQLServer2019是需要收费的,虽然网上有各种PJ方法,但是因为初学嘛,老师建议我们下载SQLServer2017Developer,也就是下图中的这个也够用了(它这里写的是2019但一下载就是2017,这是光明正大的qipian我们嘛(ノ`Д)ノ)下载下载传送门:SQLServer下载进去页面可能需要时间略久一点,如果没有FQ的话还请稍等一小会吖~页面加载好后找到上图Developer立即下载,然后等待安装包下载~安装①找到刚下载好的SQLServer2017-SSEI-Dev.exe文件点击运行。稍等一会后出现以下界面,安装类型选择【基本】就行...
数据库操作教程 2022-09-23 18:26:05 -
秒懂drop、truncate和delete的区别
(1)DELETE语句执行删除的过程是每次从表中删除一行,并且同时将该行的删除操作作为事务记录在日志中保存以便进行进行回滚操作。TRUNCATETABLE则一次性地从表中删除所有的数据并不把单独的删除操作记录记入日志保存,删除行是不能恢复的...
数据库操作教程 2022-09-23 18:24:42 -
table行转列的sql详解
一、要求1创建数据表CREATETABLE[dbo].[StuScore]([stuid][int]NOTNULL,[subject][nvarchar](30)NULL,[score][decimal](5,1)NULL)2插入测试数据stuidsubjectscore3chinese76.03math73.04chinese82.05chinese66.05math93.06chinese67.07math83.08chinese77.08math84.03行转列后的结果stuidchinesemath376.073.0482.00.0566.093.0667.00.070.083.0877.084.0二、分析1行转列,一个重点就是怎么样知道有多少列,怎么样创建这些列?我们可以先把这个问题搁置,而假设这些列是已知的。例如示例数据中,可以先假设subject的数据[chinese,math]是已知的,这样问题就简化了许多2当已知了chinese,math后,我们至少要先得到转换后的tabel结构如下;selectstuid,0aschinese,0asmathfromdbo.StuS...
数据库操作教程 2022-09-23 18:24:10 -
SQL删除语句DROP、TRUNCATE、DELETE的区别
DROP:DROPTABLEtest;删除表test,并释放空间,将test删除的一干二净。TRUNCATE:TRUNCATEtest;删除表test里的内容,并释放空间,但不删除表的定义,表的结构还在...
数据库操作教程 2022-09-23 18:24:10 -
sqlserver2000远程连接服务器的解决方案
远程连接sqlserver2000服务器的解决方案一看ping服务器IP能否ping通。 这个实际上是看和远程sqlserver2000服务器的物理连接是否存在...
数据库操作教程 2022-09-23 18:24:06 -
解决Windows10家庭版安装SQLServer2014出现.net3.5失败问题
在安装SQLServer2014的过程中,出现.net3.5缺失,导致失败问题。后来,研究了下,解决思路如下:先将电脑更新到了windows10专业版,(因为需要用到专业版才有的组策略管理器)使用win+R快捷键,打开运行,使用gpedit.msc打开...
数据库操作教程 2022-09-23 18:24:03 -
SQLServer2016无域群集配置AlwaysON可用性组图文教程
windowsserver2016与sqlserver2016都可用允许不许要加入AD,管理方面省了挺多操作,也不用担心域控出现问题影响各服务器了。本测试版本:windowserver2016datacenter+sqlserver2016ctpIP规划:主机名IP说明ad192.168.2.2域服务器(kk.com)windowsxpServer131192.168.2.131节点Server132192.168.2.132节点Winclt2016192.168.2.139群集Testag_listener192.168.2.135可用性组监听器要求:每个节点都创建一个本地的计算机用户,要求账号密码一致,并隶属于管理员组“Administrators”...
数据库操作教程 2022-09-23 18:23:58 -
SQLServer中使用扩展事件获取Session级别的等待信息及SQLServer2016中Session级别等待信息的增强
什么是等待简单说明一下什么是等待:当应用程序对SQLServer发起一个Session请求的时候,这个Session请求在数据库中执行的过程中会申请其所需要的资源,比如可能会申请内存资源,表上的锁资源,物理IO资源,网络资源等等,如果当前Session运行过程中需要申请的某些资源无法立即得到满足,就会产生等待。SQLServer会以不用的方式来展现这个等待信息,比活动Session的等待信息,实例级的等待信息等等...
数据库操作教程 2022-09-23 18:23:47 -
SQLServerAlert发送告警邮件少了的原因
最近突然发现我们部署在数据库上面的告警(Alert),当错误日志里面出现错误时,并不是每个错误日志都会发送邮件出来。如下所示,设置了告警“SQLServerSeverityEvent14” USE[msdb]GOIFNOTEXISTS(SELECT1FROMmsdb.dbo.syscategoriesWHERENAME='DBA_MONITORING'ANDcategory_class=2)BEGINEXECmsdb.dbo.sp_add_category@class=N'ALERT',@type=N'NONE',@name=N'DBA_MONITORING';ENDGOIFEXISTS(SELECTnameFROMmsdb.dbo.sysalertsWHEREname=N'SQLServerSeverityEvent14')EXECmsdb.dbo.sp_delete_alert@name=N'SQLServerSeverityEvent14'GOEXECmsdb.dbo.sp_add_alert@name=N'SQLServerSeverityEvent14',@mess...
数据库操作教程 2022-09-23 18:22:59