-
关于SQL的几道小题详解(sql进阶)
当我们拿到题目的时候,并不是急于作答,那样会得不偿失的,而是分析思路,采用什么方法,达到什么目的,还要思考有没有简单的方法或者通用的方法等等,这样才会达到以一当十的效果,这样的惯性思维其实早在我们度高中的时候就被领教了,所谓“万变不离其宗”吧。以下各题来自日常所见,或QQ群,或面试题,或博客园...
数据库操作教程 2022-09-23 17:41:18 -
SQL语句实现查询SQLServer服务器名称和IP地址
获取服务器名称:SELECTSERVERPROPERTY('MachineName')select@@SERVERNAMEselectHOST_NAME()获取IP地址可以使用xp_cmdshell执行ipconfig命令:--开启xp_cmdshellexecsp_configure'showadvancedoptions',1reconfigurewithoverrideexecsp_configure'xp_cmdshell',1reconfigurewithoverrideexecsp_configure'showadvancedoptions',0reconfigurewithoverridegobegindeclare@iplinevarchar(200)declare@posintdeclare@ipvarchar(40)setnocountonset@ip=nullifobject_id('tempdb....
数据库操作教程 2022-09-23 17:38:36 -
SQLSERVER使用ODBC驱动建立的链接服务器调用存储过程时参数不能为NULL值
我们知道SQLSERVER建立链接服务器(LinkedServer)可以选择的驱动程序非常多,最近发现使用ODBC的MicrosoftOLEDB驱动程序建立的链接服务器(LinkedServer),调用存储过程过程时,参数不能为NULL值。否则就会报下面错误提示:对应的英文错误提示为:EXECxxx.xxx.dbo.Usp_TestNULL,NULL,'ALL'Msg7213,Level16,State1,Line1Theattemptbytheprovidertopassremotestoredprocedureparameterstoremoteserver'xxx'failed.Verifythatthenumberofparameters,theorder,andthevaluespassedarecorrect.对应的中文错误提示为:EXECxxx.xxx.dbo.Usp_TestNULL,NULL,'ALL'Msg7213,Level16,State1,Line1提供程序将远程存储过程参数传递给远程服务器'xxx'的尝试失败...
数据库操作教程 2022-09-23 17:35:04 -
SQLSERVER中关于exists和in的简单分析
In与Exists这两个函数是差不多的,但由于优化方案不同,通常NOTExists要比NOTIN要快,因为NOTEXISTS可以使用结合算法二NOTIN就不行了,而EXISTS则不如IN快,因为这时候IN可能更多的使用结合算法。如图,现在有两个数据集,左边表示#tempTable1,右边表示#tempTable2...
数据库操作教程 2022-09-23 17:32:11 -
在WindowsXP系统安装SQLserver2000企业版(图解版)
但网上的方法都只有文字说明,而没有附加相应的截图,我在测试的过程中顺便截图,这样更直观些。下面是海波的安装和测试过程:1、进入MS SQL服务器软件所在的安装盘或文件夹,进入MSDE目录,并找到setup.exe...
数据库操作教程 2022-09-23 17:29:30 -
sqlserver合并DataTable并排除重复数据的通用方法分享
代码如下:复制代码代码如下:///<summary>///将两个列不同的DataTable合并成一个新的DataTable///</summary>///<paramname="dt1">源表</param>///<paramname="dt2">需要合并的表</param>///<paramname="primaryKey">需要排重列表(为空不排重)</param>///<paramname="maxRows">合并后Table的最大行数</param>///<returns>合并后的datatable</returns>publicstaticDataTableMergeDataTable(DataTabledt1,DataTabledt2,stringprimaryKey,intmaxRows){//判断是否需要合并if(dt1==null&&dt2==null){returnnull;}if(dt1==null&...
数据库操作教程 2022-09-23 17:25:18 -
安装sqlserver2008后再安装sql2005找不到本地服务器的解决方法
最近在项目中安装sqlserver2005,发现找不到本地服务器,因为此前我已经安装了sqlserver2008,打开2005数据库引擎后找不到本地服务器,在网上也找不到正确的解决办法,以为是组件没有安装,有重新安装一次问题依然存在,当时很是郁闷,后来想想是不是组件没有安装,重装了一次还是这样,后来想想是不是2005的服务器实例与2008重合了,在重装的时候就在安装此步骤的实例没有选择默认实例如下图,此处要注意:不能选择默认实例,单击“已安装的实例”会发现有2008的服务器名称,如果选择默认的就不会安装2005的服务器所有在命名实例中填入服务器名称,如SQL2005,其他的安装按照正常步骤来,后来安装完成后在本地服务器中找到了2005的本地服务器。在此sqlserver安装过程中相信也有遇到同类问题的友友,在此处记录下来,以免遇到同样问题的博友重蹈覆辙!...
数据库操作教程 2022-09-23 17:24:07 -
关于SQL存储过程入门基础(变量)
上一篇我们讲到了SQL存储过程的基本定义,怎么创建,使用,这篇就来讲一下变量的使用。变量分文局部变量和全局变量局部变量是@开头,全局变量是@@开头,这里我们主要讲局部变量,全局变量我们后面再讲...
数据库操作教程 2022-09-23 17:21:52 -
SQLite数据库管理相关命令的使用介绍
1.创建数据库 启动命令行,通过输入如下命令打开Shell模式的CLP: sqlite3test.db 虽然我们提供了数据库名称,但如果该数据库不存在,SQLite实际上就未创建该数据库,直到在数据库内部创建一些内容时,SQLite才创建该数据库。 2.创建数据表 sqlite>createtableMember(idintegerprimarykey,nametext,ageinteger,addrtext); 注:id为主键,该列默认具备自动增长的属性...
数据库操作教程 2022-09-23 17:19:02 -
关于重新组织和重新生成索引sp_RefreshIndex的介绍
开始:--------------------------------------------------------------------------------在上周,客户反映一个系统问题,当处理大量数据的时候,出现网络超时。后来,我们跟踪测试,发现是由于索引碎片多而引起的网络超时...
数据库操作教程 2022-09-23 17:18:49 -
关于sqlserver批量插入和更新的两种解决方案
复制代码代码如下:.游标方式1DECLARE@DataNVARCHAR(max) SET@Data='1,tanw;2,keenboy' --Id,Name DECLARE@dataItemNVARCHAR(100) DECLAREdata_cursorCURSORFOR(SELECT*FROMsplit(@Data,';')) OPENdata_cursor FETCHNEXTFROMdata_cursorINTO@dataItem WHILE@@FETCH_STATUS=0 BEGIN DECLARE@IdINT DECLARE@NameNVARCHAR(50) DECLAREdataItem_cursorCURSORFOR(SELECT*FROMsplit(@dataItem,',')) OPENdataItem_cursor FETCHNEXTFROMdataItem...
数据库操作教程 2022-09-23 17:18:31 -
SQLServer2000报1053错误(服务没有及时响应或控制请求)的解决方法
今天启动SQLServer2000时报1053错误错误如下所示:发生错误1053-(服务没有及时响应或控制请求。),此时正在MSSQLServer服务上执行该服务操作...
数据库操作教程 2022-09-23 17:17:15