-
sqlserver通用的删除服务器上的所有相同后缀的临时表
复制代码代码如下:usetempdbifobject_id('tempdb..#table')isnotnulldroptabletempdb..#tableselectnameintotempdb..#tablefrom(select*fromsysobjectswherextype='U')awherea.namelike'%test_select'declare@tablevarchar(100),@countintselect@count=count(name)fromtempdb..#tablewhile(@count>0)beginselecttop1@table=namefromtempdb..#tableexec('ifobject_id('''+@table+''')isnotnulldroptable'+@table+'deletefromtempdb..#tablewherename='''+@table+'''')set@count=@count-1enddroptabletempdb..#table建议:尽量不要大量使用临时表,因为使用tempdb库会使...
数据库操作教程 2022-09-23 17:09:11 -
优化SQLServer的内存占用之执行缓存
首先说明一下SQLServer内存占用由哪几部分组成。SQLServer占用的内存主要由三部分组成:数据缓存(DataBuffer)、执行缓存(ProcedureCache)、以及SQLServer引擎程序...
数据库操作教程 2022-09-23 17:09:08 -
sql不常用函数总结以及事务,增加,删除触发器
sql不常用函数总结以及事务,增加,删除触发器distinct删除重复行declare@x申明一个变量convert(varchar(20),tscore.tenglish)类型转换cast(xxasvarchar(10))类型转换www...
数据库操作教程 2022-09-23 17:08:54 -
SQL特殊语句(学习笔记)
【1】以XML返回(1)未定义属性的selectlogisticsId,logisticsNamefromLogisticsCompanyforxmlauto,elements(2)定义属性节的复制代码代码如下:SELECTTOP21ASTag,NULLASParent,title_idAS[titles!1!title_id],titleAS[titles!1!title!element],typeAS[titles!1!type]FROMtitlesFORXMLEXPLICIT【2】处理大批量数据的添加复制代码代码如下:CREATPROCEDURE[dbo].[Sp_DB_InsertBatch](@LogXmlNVARCHAR(MAX),@LastTimeDATETIME,@CurrentTimeDATETIME)ASBEGINBEGINTRANBEGINTRY--使用OPENXML()需要一个准备动作:--定义一个文档指针@XMLHandler,类型为int(SP_XML_PREPAREDOCUMENT)。--使用完后还需要把它释放掉(SP_XML_REMOVEDOCUMENT...
数据库操作教程 2022-09-23 17:08:52 -
SQLSERVER创建索引实现代码
什么是索引拿汉语字典的目录页(索引)打比方:正如汉语字典中的汉字按页存放一样,SQLServer中的数据记录也是按页存放的,每页容量一般为4K。为了加快查找的速度,汉语字(词)典一般都有按拼音、笔画、偏旁部首等排序的目录(索引),我们可以选择按拼音或笔画查找方式,快速查找到需要的字(词)...
数据库操作教程 2022-09-23 17:08:32 -
N字符在SqlServer字段类型中的重要性概述
Unicode字符集就是为了解决字符集这种不兼容的问题而产生的,它所有的字符都用两个字节表示,即英文字符也是用两个字节表示如果还为了这个纠结,就直接看看后面的解说,做决定吧。一般如果用到中文或者其它特殊字符,我就会使用n开头的类型,否则的话直接使用var开头的...
数据库操作教程 2022-09-23 17:08:22 -
SqlServer:多行合并成一行,并做分组统计的两个方法
复制代码代码如下:--创建test表,插入数据CREATETABLEtest(codevarchar(50),[values]varchar(10),[count]int)INSERTtestSELECT'001','aa',1UNIONALLSELECT'001','bb',2UNIONALLSELECT'002','aaa',4UNIONALLSELECT'002','bbb',5UNIONALLSELECT'002','ccc',3; --方法一--将多行合并成一行,并做分组统计SELECTcode, [values]= stuff(b.[values]...
数据库操作教程 2022-09-23 17:08:19 -
SqlServer2012转换函数的比较(Cast、Convert和Parse)
语法结构:1.Cast语法结构:CAST(expressionASdata_type[(length)])2.Convert语法结构:CONVERT(data_type[(length)],expression[,style])3.Parse语法结构:PARSE(string_valueASdata_type[USINGculture])其中,Parse为SqlServer的新特性expression必须要为被转换类型的字符串形式性能分析:总结:1.Convert和Cast的区别CONVERT是专对SQLServer使用的,使日期与时间值,小数之间转换具有更宽的灵活性。CAST是两种功能中更具ANSI标准的功能,即虽然更具便携性(比如,使用CAST的函数能更容易的被其它数据库软件使用),但功能相对弱一些...
数据库操作教程 2022-09-23 17:08:17 -
sqlserver中重复数据值只取一条的sql语句
复制代码代码如下:--建立数据表createtableTestData(IDintidentity(1,1)primarykey...
数据库操作教程 2022-09-23 17:08:11 -
自动清理MSSQLServerTableCollation问题的解决方法
在一个团队项目中,没有约定好Collation,在MSSQLServer中编程就会遇到这样的问题:Cannotresolvethecollationconflictbetween"Latin1_General_CI_AS"and"SQL_Latin1_General_CP1_CI_AS"intheequaltooperation.因为编码问题,不同编码的字符串并不能直接进行比较,这种有两个解决方法,1是在query中指定用某一个collation进行比较,另外一个就是修改column的collationtype来避免这种错误。第二种方法,一个一个column改起来很累,写了个script,除了被当作constraints比如primarykey,foreignkey之外的varchar,char,nvarchar都可以统一修改成一个collation…完整sql代码:复制代码代码如下:declare@CollationNamevarchar(500);set@CollationName='SQL_Latin1_General_CP1_CI_AS'createtable#tmp(sqlS...
数据库操作教程 2022-09-23 17:07:58