-
过程需要参数'@statement'为'ntext/nchar/nvarchar'类型
复制代码代码如下:declare@strCountTmpvarchar(100)--记录数 换成:复制代码代码如下:declare@strCountTmpnvarchar(100)--记录数...
数据库操作教程 2022-09-23 20:22:03 -
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 -
REPLICATE以指定的次数重复字符表达式
使用REPLICATE(以指定的次数重复字符表达式)函数REPLICATE函数用于以指定的次数重复字符表达式。语法:REPLICATE(character_expression,integer_expression)参数说明:character_expression:由字符数据组成的字母数字表达式...
数据库操作教程 2022-09-23 20:20:50 -
MMC提示不能打开文件SQLServerEnterpriseManager.MSC的解决方法
“开始”—>“运行”—>键入MMC命令 弹出如下窗口: “文件”—>“添加/删除管理单元(M)”或者直接按Ctrl+M,弹出下面窗口: 单击下面的“添加”按钮,选中“MicrosoftSQL企业管理器”: 单击“添加”按钮,添加成功,直接关闭这个窗口,然后在上面“添加/删除管理单元”的列表中可以看到了企业管理器了,同时点击“确定”按钮,在“控制台1”上出现MicrosoftSQLServers。 最后,选择“文件”—>“另存为”,将添加的控制台存到C:ProgramFilesMicrosoftSQLServer80ToolsBinnSQLServerEnterpriseManager.MSC目录下,直接覆盖原来存在的SQLServerEnterpriseManager.MSC文件...
数据库操作教程 2022-09-23 20:17:58 -
SQL中函数replace的参数1的数据类型ntext无效的解决方法
今天将一个ACC的数据库转换成ms-sql以后发现在使用replace替换语句的时候出现:SQL中函数replace的参数1的数据类型ntext无效。找了半天找到了解决办法:因为ntext需要转化下用如下语句即可解决:复制代码代码如下:UPDATE表SET字段=REPLACE(cast(字段ASvarchar(8000)),'被替换的内容','将要替换成的内容')varchar(8000)是字段类型...
数据库操作教程 2022-09-23 20:15:52 -
sql语句中如何将datetime格式的日期转换为yy-mm-dd格式
如果在asp中我们可以用year(date())这样的格式在sql语句中,不知道这样的效率怎么样不过是个方法复制代码代码如下:select substring(convert(char,registdate,120),1,10) as registdate from tbuser...
数据库操作教程 2022-09-23 20:15:19 -
sqlupdate触发器可获得被update的行的信息
复制代码代码如下:createtriggerTgNameontbforupdateasifupdate(recommend)beginupdatetbsetcommenddate=(getdate())fromtbinnerjoininsertedontb.vlistid=Inserted.vlistidendrecommend表示被更新的字段.关键在于Inserted表触发器语句中使用了两种特殊的表:deleted表和inserted表。Deleted表用于存储DELETE和UPDATE语句所影响的行的复本...
数据库操作教程 2022-09-23 20:15:15 -
sqlserver中datetime字段去除时间的语句
select CONVERT(varchar, getdate(), 120 ) 2004-09-12 11:06:08 select replace(replace(replace(CONVERT(varchar, getdate(), 120 ),'-',''),' ',''),':','') 20040912110608 select CONVERT(varchar(12) , getdate(), 111 ) 2004/09/12 select CONVERT(varchar(12) , getdate(), 112 ) 20040912 select CONVERT(varchar(12) , getdate(), 102 ) 2004.09...
数据库操作教程 2022-09-23 20:15:14 -
sql语句优化之用EXISTS替代IN、用NOTEXISTS替代NOTIN的语句
在许多基于基础表的查询中,为了满足一个条件,往往需要对另一个表进行联接。在这种情况下, 使用EXISTS(或NOT EXISTS)通常将提高查询的效率...
数据库操作教程 2022-09-23 20:15:10 -
TRUNCATE快速删除表中的所有数据
备注与DELETE语句相比,TRUNCATETABLE具有以下优点:所用的事务日志空间较少。DELETE语句每次删除一行,并在事务日志中为所删除的每行记录一个条目...
数据库操作教程 2022-09-23 20:14:43 -
SQLServer"错误21002:[SQL-DMO]用户*已经存在问题解决
错误21002:[sql-dmo]用户***已经存在错误此错误的原因多是因为将MSSQL备份移植到另一服务器还原时出现。主要原因是原来的备份还原时保留了原用户的信息,导致产生孤立用户解决方法:1.打开mssql企业管理器→数据库→展开出问题的数据库如"mydb"→"用户"→在右侧窗口中选择出问题的用户名如:"***"→右击鼠标→删除2.企业管理器→安全性→登录→在右侧窗口中选择出问题的用户名如:"***"→属性→数据库访问→点选"mydb"→勾选下方的"public"和"db-owner"→确定...
数据库操作教程 2022-09-23 20:12:42 -
SQL Server中Sequence对象用法
一、Sequence简介Sequence对象对于Oracle用户来说是最熟悉不过的数据库对象了,在SQLSERVER2012终于也可以看到这个对象了。Sequence是SQLServer2012推出的一个新特性...
数据库操作教程 2022-09-23 18:26:22