-
SQLSERVERPagerstoreprocedure分页存储过程
复制代码代码如下:SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOCREATEPROCEDURE[dbo].[Pagination]@Pageint=1,--当前页码@PageSizeint=10,--每页记录条数(页面大小)@Tablenvarchar(500),--表名或视图名,甚至可以是嵌套SQL:(Select*FromTabWhereID>1000)Tab@Fieldnvarchar(800)='*',--返回记录集字段名,","隔开,默认是"*"@OrderBynvarchar(100)='IDASC',--排序规则@Filternvarchar(500),--过滤条件@MaxPagesmallintoutput,--执行结果-1error,0false,maxpagetrue@TotalRowintoutput,--记录总数/*2007-07-1222:11:00update*/@Descriptvarchar(100)output--结果描述ASBEGIN--====================================...
数据库操作教程 2022-09-23 20:38:28 -
System表空间不足的报警问题浅析
废话不多说了,具体代码如下所示:--SYSTEM表空间不足的报警登录之后,查询,发现是sys.aud$占的地方太多。SQL>selectowner,segment_name,segment_type,sum(bytes)/1024/1024space_mfromdba_segmentswheretablespace_name='SYSTEM'groupbyowner,segment_name,segment_typehavingsum(bytes)/1024/1024>=20orderbyspace_mdesc;4567OWNERSEGMENT_NAMESEGMENT_TYPESPACE_M----------------------------------------------SYSAUD$TABLE4480SYSIDL_UB1$TABLE272SYSSOURCE$TABLE72SYSIDL_UB2$TABLE32SYSC_OBJ#_INTCOL#CLUSTER27SYSC_TOID_VERSION#CLUSTER246rowsselected.SQL>查看是哪个...
数据库操作教程 2022-09-23 20:38:07 -
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中exists的使用方法
有一个查询如下:复制代码代码如下:SELECTc.CustomerId,CompanyNameFROMCustomerscWHEREEXISTS(SELECTOrderIDFROMOrdersoWHEREo.CustomerID=cu.CustomerID)这里面的EXISTS是如何运作呢?子查询返回的是OrderId字段,可是外面的查询要找的是CustomerID和CompanyName字段,这两个字段肯定不在OrderID里面啊,这是如何匹配的呢?EXISTS用于检查子查询是否至少会返回一行数据,该子查询实际上并不返回任何数据,而是返回值True或False。EXISTS指定一个子查询,检测行的存在...
数据库操作教程 2022-09-23 20:34:48 -
distinct多列问题结合groupby的解决方法
表table1idRegNamePostionSNPersonSN1山东齐鲁制药22322山东齐鲁制药22423北京城建公司22524科技公司2252我想获得结果是idRegNamePostionSNPersonSN1山东齐鲁制药22323北京城建公司22524科技公司2252selectdistinctRegName,PostionSN...
数据库操作教程 2022-09-23 20:28:42 -
Sqlservertimestamp数据类使用介绍
在SQLServer中联机丛书是这样说的:SQLServertimestamp数据类型与时间和日期无关。SQLServertimestamp是二进制数字,它表明数据库中数据修改发生的相对顺序...
数据库操作教程 2022-09-23 20:28:11 -
sqlserver中distinct的用法(不重复的记录)
下面先来看看例子:table表字段1 字段2 id name 1 a 2 b 3 c 4 c 5 &n...
数据库操作教程 2022-09-23 20:23:24 -
过程需要参数'@statement'为'ntext/nchar/nvarchar'类型
复制代码代码如下:declare@strCountTmpvarchar(100)--记录数 换成:复制代码代码如下:declare@strCountTmpnvarchar(100)--记录数...
数据库操作教程 2022-09-23 20:22:03 -
分发服务器系统抛出18483错误,未能连接服务器,因为'distributor_admin'未定义远程登陆
系统抛出18483错误,未能连接服务器,因为'distributor_admin'未定义远程登陆我在做分发服务器,进行快照复制设置的时候在最后出现如下错误:错误18483,未能连接服务器,因为'distributor_admin'未在该服务器上定义远程登录。为什么会这样啊?该如何解决啊??急啊,还请各位指教!解决方法:我刚刚解决这种情况,你在EM中注册服务器的时候,一定要是你SQLSERVER服务器启动的名字!如果是IP地址的注册服务器,就会出现此种情况!另一种的解决方法如下:Tryselect@@servername.Ifdifferentfromtheactualservername,thenusesp_dropserver'oldservername'andafterthatsp_addserver'actualservername','local'followedbyarestartoftheSQLservice.中文意思:在查询分析器中运行select@@servername查看电脑名,如果跟当前电脑名不一样,则需要如下操作...
数据库操作教程 2022-09-23 20:21:58 -
IN&EXISTS与NOTIN&NOTEXISTS的优化原则小结
1.EXISTS的执行流程select*fromt1whereexists(selectnullfromt2wherey=x)可以理解为:复制代码代码如下:forxin(select*fromt1)loopif(exists(selectnullfromt2wherey=x.x)thenOUTPUTTHERECORDendifendloop对于in和exists的性能区别:如果子查询得出的结果集记录较少,主查询中的表较大且又有索引时应该用in,反之如果外层的主查询记录较少,子查询中的表大,又有索引时使用exists。其实我们区分in和exists主要是造成了驱动顺序的改变(这是性能变化的关键),如果是exists,那么以外层表为驱动表,先被访问,如果是IN,那么先执行子查询,所以我们会以驱动表的快速返回为目标,那么就会考虑到索引及结果集的关系了另外IN时不对NULL进行处理,如:select1fromdualwherenullin(0,1,2,null)结果为空...
数据库操作教程 2022-09-23 20:21:01 -
sql语句优化之用EXISTS替代IN、用NOTEXISTS替代NOTIN的语句
在许多基于基础表的查询中,为了满足一个条件,往往需要对另一个表进行联接。在这种情况下, 使用EXISTS(或NOT EXISTS)通常将提高查询的效率...
数据库操作教程 2022-09-23 20:15:10 -
SQLServer免费版的安装以及使用SQLServerManagementStudio(SSMS)连接数据库的图文方法
一、SQLServer和SSMS的安装1.SQL的安装下载地址:SQLServer。进入下载地址选择Developer或者Express都可以...
数据库操作教程 2022-09-23 18:23:09