-
过程需要参数'@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中的集合运算: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 -
SQLServer免费版的安装以及使用SQLServerManagementStudio(SSMS)连接数据库的图文方法
一、SQLServer和SSMS的安装1.SQL的安装下载地址:SQLServer。进入下载地址选择Developer或者Express都可以...
数据库操作教程 2022-09-23 18:23:09 -
SQL Server中的约束(constraints)详解
目录一、约束的分类二、约束命名三、主键约束1、在创建表的时候创建主键约束。2、在已存在的表上创建主键约束3、复合主键的创建四、外键约束4.1、创建表的时候创建外键4.2、在已存在的表中添加一个外键4.3、级联动作五、唯一约束主键和唯一约束的区别:六、CHECK约束七、DEFAULT约束7.1在创建表时定义DEFAULT约束:7.2在已存在的表上添加DEFAULT约束:八、禁用约束8.1、在创建约束时,忽略检查之前的不满足数据8.2、临时禁用已存在的约束九、规则和默认值(已淘汰)9.1、规则9.2、默认值9.3确定哪个表和数据类型使用给定的规则或默认值十、系统视图一、约束的分类在SQLServer中,有3种不同类型的约束...
数据库操作教程 2022-09-23 18:22:44 -
详解SQLEXISTS运算符
EXISTS运算符EXISTS运算符用于判断查询子句是否有记录,如果有一条或多条记录存在返回True,否则返回False。SQLEXISTS语法SELECTcolumn_name(s)FROMtable_nameWHEREEXISTS(SELECTcolumn_nameFROMtable_nameWHEREcondition);演示数据库在本教程中,我们将使用RUNOOB样本数据库...
数据库操作教程 2022-09-23 18:22:35 -
SQL Server格式转换函数Cast、Convert介绍
CAST、CONVERT都可以执行数据类型转换。在大部分情况下,两者执行同样的功能,不同的是CONVERT还提供一些特别的日期格式转换,而CAST没有这个功能...
数据库操作教程 2022-09-23 18:22:33 -
SQL解决未能删除约束问题drop constraint
问题如图:想要删除产品表的主键约束,但是报错创建的产品表:CREATETABLEPROVIDERS(PROVIDERIDINTNOTNULL,PROVIDERNAMENVARCHAR(50)NOTNULLPRIMARYKEY,#设置的主键PROVIDERCOMNAMENVARCHAR(20),PROVIDERCOMTITLENVARCHAR(10),PROVIDERADDNVARCHAR(50),PROVIDERACITYNVARCHAR(20),PROVIDERREGIONNVARCHAR(20),PROVIDERZIPNVARCHAR(10),PROVIDERCOUNTRYNVARCHAR(10),PROVIDERTELNVARCHAR(20),PROVIDERFAXNVARCHAR(20),PROVIDERWEBNVARCHAR(50)--CONSTRAINTPK_PROVNAMEPRIMARYKEY(PROVIDENAME))原因在于主键的名称写错了(主键后面有自带的随机数)--查看真正的主键名称EXECSP_HELPPROVIDERS那么为什么它的后面会有随机数呢...
数据库操作教程 2022-09-23 18:20:46 -
用非动态SQLServerSQL语句来对动态查询进行执行
此文章主要向大家讲述的是非动态SQLServerSQL语句执行动态查询,在实际操作中我尝试在一个存储过程中,来进行传递一系列以逗号划定界限的值,来对结果集进行限制。但是无论什么时候,我在IN子句中使用变量,都会得到错误信息...
数据库操作教程 2022-09-23 18:20:22 -
SQLServerParameterSniffing及其改进方法
SQLServer在处理存储过程的时候,为了节省编译时间,是一次编译,多次重用。当第一次运行时代入值产生的执行计划,不适用后续代入的参数时,就产生了parametersniffing问题...
数据库操作教程 2022-09-23 18:20:15