-
SQLServer参数化查询经验分享
什么是参数化查询? 一个简单理解参数化查询的方式是把它看做只是一个T-SQL查询,它接受控制这个查询返回什么的参数。通过使用不同的参数,一个参数化查询返回不同的结果...
数据库操作教程 2022-09-23 20:36:52 -
SQL中WHERE变量ISNULL条件导致全表扫描问题的解决方法
复制代码代码如下:SET@SQL='SELECT*FROMCommentwith(nolock)WHERE1=1 And(@ProjectIdsIsNullorProjectId=@ProjectIds) And(@ScoresisnullorScore=@Scores)'印象中记得,以前在做Oracle开发时,这种写法是会导致全表扫描的,用不上索引,不知道SqlServer里是否也是一样呢,于是做一个简单的测试1、建立测试用的表结构和索引:复制代码代码如下:CREATETABLEaaa(idintIDENTITY,NAMEVARCHAR(12),ageINT)goCREATEINDEXidx_ageONaaa(age)GO2、插入1万条测试数据:复制代码代码如下:DECLARE@iINT;SET@i=0;WHILE@i<10000BEGIN INSERTINTOaaa(name,age)VALUES(CAST(@iASVARCHAR),@i) SET@i=@i+1;ENDGO3、先开启执行计...
数据库操作教程 2022-09-23 20:36:43 -
SQLServer使用ADSI执行分布式查询ActiveDorectory对象
Step1:CreatingaLinkedServer.EXECsp_addlinkedserver'ADSI','ActiveDirectoryServices2.5','ADSDSOObject','adsdatasource'Step2:CreatingaSQLServerAuthenticatedLoginEXECsp_addlinkedsrvlogin@rmtsrvname=N'ADSI',@locallogin=NULL,@useself=N'False',@rmtuser=N'domainAccount',@rmtpassword=N'Password'对于SQLServer授权登录,可以使用sp_addlinkedsrvlogin系统存储过程配置用于连接到目录服务的适当的登录/密码.参考这里:http://blogs.msdn.com/euanga/archive/2007/03/22/faq-how-do-i-query-active-directory-from-sql-server.aspx如果SQLServer使用Windows授权登录,只需自映射就足以通过使用...
数据库操作教程 2022-09-23 20:36:34 -
sqlserver创建复合主键的2种方法
创建复合主键:方法一:创建表之后,altertabletable_nameaddprimarykey(字段1...
数据库操作教程 2022-09-23 20:36:22 -
利用脚本自动安装SQLServer的实现步骤分析
每当这种情况发生的时候,我总会心里默念道:杯具啊,这辈子也装不完了。因为SQLServer的安装还是比较复杂的,要先安装.Net、WindowsInstaller,在正式安装的过程中还要交互的填写各种参数,当然这个还不包括拷贝3GB多的安装文件的时间...
数据库操作教程 2022-09-23 20:36:20 -
sqlserverUnion和SQLUnionAll使用方法
SQLUNION操作符UNION操作符用于合并两个或多个SELECT语句的结果集。请注意,UNION内部的SELECT语句必须拥有相同数量的列...
数据库操作教程 2022-09-23 20:36:16 -
SQL语句练习实例之六人事系统中的缺勤(休假)统计
复制代码代码如下:---这是一个人事系统中的示例,要求记录一下员工的缺勤情况---1.要在表中记录一下缺勤计分,是对经常缺勤者的一种处罚性计分---规则:---1.如果员工在一年内的缺勤计分达到50,就会可以解雇该员工。---2.如果员工缺勤连续超过一天,就视为长病假,这时,第二天,第三天及以后的天数都不会统计该员工的缺勤计分----这些天也不算为缺勤...
数据库操作教程 2022-09-23 20:36:11 -
通过SQL语句直接把表导出为XML格式
首先建立一张表:复制代码代码如下:USE[ip]GO/******对象:Table[dbo].[SiteData]脚本日期:09/11/201017:41:11******/SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOSETANSI_PADDINGONGOCREATETABLE[dbo].[SiteData]([id][int]IDENTITY(1,1)NOTNULL,[SiteName][varchar](50)COLLATEChinese_PRC_CI_ASNOTNULL,[SiteAdd][varchar](100)COLLATEChinese_PRC_CI_ASNOTNULL,[BaiduSort][int]NOTNULLCONSTRAINT[DF_SiteData_BaiduSort]DEFAULT((0)),[BaiduShouLu][int]NOTNULLCONSTRAINT[DF_SiteData_BaiduShouLu]DEFAULT((0)),CONSTRAINT[PK_SiteData]PRIMARYKEYCLUSTERED(...
数据库操作教程 2022-09-23 20:36:07 -
sqlserver错误602,未能在sysindexes中找到数据库的解决办法
解决办法:直接附加或附加应该是不行的,用脚本+导数据肯定没有问题。Sql2005转到Sql2000的步骤步骤1.生成for2000版本的数据库脚本Sql2005的mangerstudio--打开"对象资源管理器"(没有的话按F8),连接到你的实例--右键要转到2000的库--任务--生成脚本--在"脚本向导"的"选择数据库"中,确定选择的是要转到2000的库--勾选"为所选数据库中的所有对象编写脚本"--在接下来的"选择脚本选项"中,找到"为服务器版本编写脚本"项,选择"SQLServer2000"--其他选项根据需要设置--最后把脚本保存到一个.sql脚本文件2.在2000中创建目标数据库在查询分析器(或2005的mangerstudio在打开脚本文件),连接到SQLServer2000,执行上面生成的脚本.以创建一个新的数据库3.将数据从2005导到20002005的mangerstudio--打开"对象资源管理器"(没有的话按F8),连接到你的实例--右键要转到2000的库--任务--导出数据--在"SQLServer导入和导出向导"的"选择数据源"步骤中,确定选择的是要导出的数...
数据库操作教程 2022-09-23 20:35:58 -
sqlserver下Kill所有连接到某一数据库的连接
复制代码代码如下:USEmasterDECLARE@spidintDECLARECURCURSORFORSELECTspidFROMsysprocessesWHEREdbid=5FETCHNEXTFROMCURINTO@spidWHILE@@FETCH_STATUS=0BEGIN--EXEC('KILL'+@spid)FETCHNEXTFROMCURINTO@spidENDCLOSECURDEALLOCATECUR...
数据库操作教程 2022-09-23 20:35:55 -
sql自动增长标识导致导入数据问题的解决方法
对于一个设了自动增长标识的数据表来说,它的字段的值是由数据库自动设置的;这在导数据时很麻烦。当我们导数据时,我们往往想想将标识字段的数据也导进来,怎么办呢?方法有两种:1.用数据库管理工具在界面将表的自动增长标识去除,导完数据,再在界面里改回来...
数据库操作教程 2022-09-23 20:35:51 -
小议sqlserver数据库主键选取策略
因为主键可以唯一标识某一行记录,所以可以确保执行数据更新、删除的时候不会出现张冠李戴的错误。当然,其它字段可以辅助我们在执行这些操作时消除共享冲突,不过就不在这里讨论了...
数据库操作教程 2022-09-23 20:35:45