-
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 -
学习SQL语句(强大的groupby与selectfrom模式)
强大的groupby复制代码代码如下:selectstdname,isnull(sum(casestdsubjectwhen'化学'thenResultend),0)[化学],isnull(sum(casestdsubjectwhen'数学'thenResultend),0)[数学],isnull(sum(casestdsubjectwhen'物理'thenResultend),0)[物理],isnull(sum(casestdsubjectwhen'语文'thenResultend),0)[语文]from#studentgroupbystdnamegroupby与sum+case结合,可以将表1中的记录(行)变成表2的字段(列)。Sum里面如果没有case,那么出来的值,只能是全部科目的总和,用了case以后,就是某科的成绩;然后这里用了好几个sum,每个科目一个sum,于是表1中本来某人某科占一条记录的“行”就变成了表2里某人一条记录,每科做一个字段了利用selectfrom(selectfrom)的模式生成SQL语句复制代码代码如下:declare@sqlvarchar(4000...
数据库操作教程 2022-09-23 20:31:24 -
distinct多列问题结合groupby的解决方法
表table1idRegNamePostionSNPersonSN1山东齐鲁制药22322山东齐鲁制药22423北京城建公司22524科技公司2252我想获得结果是idRegNamePostionSNPersonSN1山东齐鲁制药22323北京城建公司22524科技公司2252selectdistinctRegName,PostionSN...
数据库操作教程 2022-09-23 20:28:42 -
sqlserver中的decimal或者numeric的精度问题
何谓精度:最多可以存储的十进制数字的总位数,包括小数点左边和右边的位数。该精度必须是从1到最大精度38之间的值...
数据库操作教程 2022-09-23 20:26:23 -
使用sp_xml_preparedocument处理XML文档的方法
有时会在存储过程中处理一些XML格式的数据,所以会用到sp_xml_preparedocument,他可以将XML数据进行读取,然后使用MSXML分析器(Msxmlsql.dll)对其进行分析。我们就可以很容易的在存储过程中得到XML中我们想要的数据...
数据库操作教程 2022-09-23 20:26:00 -
SQL中sp_executesql存储过程的使用帮助
摘自SQLserver帮助文档对大家优查询速度有帮助!建议使用sp_executesql而不要使用EXECUTE语句执行字符串。支持参数替换不仅使sp_executesql比EXECUTE更通用,而且还使sp_executesql更有效,因为它生成的执行计划更有可能被SQLServer重新使用...
数据库操作教程 2022-09-23 20:25:44 -
SQLSELECT语句的表连接
我来给大家介绍join(连接)的概念.为此准备了两个试验用表:album(专辑表)和track(曲目表). 专辑表:包含200首来自Amazon的音乐CD的概要信息。 album(asin,title,artist,price,release,label,rank) 曲目表:每张专辑中的曲目(因为是音乐CD,所以也可叫歌曲)的详细信息...
数据库操作教程 2022-09-23 20:24:44 -
SQLServer数据库的数据汇总完全解析(WITHROLLUP)
现有表A,内容如下:编码仓库数量01A601B702A802B9现在想按编码查询出这种格式:01A601B7汇总小计:1302A802B9汇总小计:17问:该如何实现?乍一看,好像很容易,用groupby好像能实现?但仔细研究下去,你又会觉得groupby也是无能为力,总欠缺点什么,无从下手。那么,到底该如何做呢?别急,SQLServer早就帮我们做好了,下面,跟我来...
数据库操作教程 2022-09-23 20:22:56 -
SQLServer中汇总功能的使用GROUPING,ROLLUP和CUBE
第一次看到这样的SQL语句,看不懂,其中用到了下面的不常用的聚集函数:GROUPING用于汇总数据用的运算符:ROLLUPSELECT CASE GROUPING(o.customerid) WHEN 0 THEN o.customerid ELSE '(Total)' END AS AllCustomersSummary, CASE GROUPING(od.orderid) WHEN 0 THEN od.orderid ELSE -1 END AS IndividualCustomerSummary, SUM(od.quantity*od.unitprice) AS price FROM Orders o, [Order Details] od WHERE&...
数据库操作教程 2022-09-23 20:21:35 -
sqlupdate触发器可获得被update的行的信息
复制代码代码如下:createtriggerTgNameontbforupdateasifupdate(recommend)beginupdatetbsetcommenddate=(getdate())fromtbinnerjoininsertedontb.vlistid=Inserted.vlistidendrecommend表示被更新的字段.关键在于Inserted表触发器语句中使用了两种特殊的表:deleted表和inserted表。Deleted表用于存储DELETE和UPDATE语句所影响的行的复本...
数据库操作教程 2022-09-23 20:15:15 -
SQLServer中SELECT语句的执行顺序
今天在写一条语句的时候,在查询分析器里边执行要用10s,换用另外一种写法只用少于1s的时间,同事说是因为Sql句语执行顺序的原因。之前看过一点相关的书,有一点印象,到网上找了资料,学习下...
数据库操作教程 2022-09-23 20:15:11 -
SQLServer中的集合运算:UNION,EXCEPT和INTERSECT示例代码详解
SQLServer中的集合运算包括UNION(合并),EXCEPT(差集)和INTERSECT(相交)三种。集合运算的基本使用1.UNION(合并两个查询结果集,隐式DINSTINCT,删除重复行)--合并两个提取表/派生表(derivedtable),返回结果为:[a,b,c,d,e]SELECTFCFROM(VALUES('a'),('b'),('c'),('e'))Table1(FC)UNIONSELECTFCFROM(VALUES('a'),('b'),('c'),('d'))Table2(FC)2.UNIONALL(简单合并两个查询结果集,不删除重复行)--提取表/派生表(derivedtable)可以是多列,列名、顺序可以不同,但列数必须相同SELECT*FROM(VALUES('a','Anna'),('b','Bob'),('c','Cassie'),('e','Elina'))Table1(FC,Name)UNIONALLSELECT*FROM(VALUES('a','Anna'),('b','Bob'),('c','Cassie'),('d','David'))Ta...
数据库操作教程 2022-09-23 18:25:20