-
drop,truncate与delete的区别
注意:这里说的delete是指不带where子句的delete语句相同点truncate和不带where子句的delete,以及drop都会删除表内的数据不同点:1.truncate和delete只删除数据不删除表的结构(定义)drop语句将删除表的结构被依赖的约束(constrain),触发器(trigger),索引(index);依赖于该表的存储过程/函数将保留,但是变为invalid状态.2.delete语句是dml,这个操作会放到rollbacksegement中,事务提交之后才生效;如果有相应的trigger,执行的时候将被触发.truncate,drop是ddl,操作立即生效,原数据不放到rollbacksegment中,不能回滚.操作不触发trigger.3.delete语句不影响表所占用的extent,高水线(highwatermark)保持原位置不动显然drop语句将表所占用的空间全部释放truncate语句缺省情况下将空间释放到minextents个extent,除非使用reusestorage;truncate会将高水线复位(回到最开始).4.速度,一般来说:dr...
数据库操作教程 2022-09-23 16:54:06 -
sqlserversubstring函数使用方法小结
在操作sqlserver时候用到了substring函数SUBSTRING(expression,start,length)参数expression字符串、二进制字符串、文本、图像、列或包含列的表达式。请勿使用包含聚合函数的表达式...
数据库操作教程 2022-09-23 16:54:03 -
SQLServer的FileStream和FileTable深入剖析
互联网时代数据是爆炸式增长,我们常常需要把结构化数据和非结构化数据(如文档,演示文稿,视频,音频,图像)存储在一起。通常有几种方案:1...
数据库操作教程 2022-09-23 16:49:44 -
deletefrom表名与truncatetable表名区别
1.delete不能使自动编号返回为起始值。但是truncate能使自动增长的列的值返回为默认的种子2.truncate只能一次清空,不能按条件删除...
数据库操作教程 2022-09-23 16:49:22 -
SQLcursor用法实例
复制代码代码如下:DECLARE@OldIdvarchar(50) DECLARE@CustomerIDvarchar(50) DECLAREMy_CursorCURSOR--定义游标 FOR(selectCustomerID,oldidfromCustomerwhereArea='bj')--查出需要的集合放到游标中 OPENMy_Cursor;--打开游标 FETCHNEXTFROMMy_CursorINTO@CustomerID,@OldId;--读取第一行数据 WHILE@@FETCH_STATUS=0 BEGIN DECLARE@OtherProVARCHAR(500)  ...
数据库操作教程 2022-09-23 16:46:50 -
SQLServer中将查询结果转换为Json格式脚本分享
脚本源码:复制代码代码如下:SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOCREATEPROCEDURE[dbo].[SerializeJSON](@ParameterSQLASVARCHAR(MAX))ASBEGIN DECLARE@SQLNVARCHAR(MAX)DECLARE@XMLStringVARCHAR(MAX)DECLARE@XMLXMLDECLARE@ParamlistNVARCHAR(1000)SET@Paramlist=N'@XMLXMLOUTPUT'SET@SQL='WITHPrepareTable(XMLString)'SET@SQL=@SQL+'AS('SET@SQL=@SQL+@ParameterSQL+'FORXMLRAW,TYPE,ELEMENTS'SET@SQL=@SQL+')'SET@SQL=@SQL+'SELECT@XML=[XMLString]FROM[PrepareTable]'EXECsp_executesql@SQL,@Paramlist,@XML=@XMLOUTPUTSET@XML...
数据库操作教程 2022-09-23 16:45:25 -
SQLServer2012中设置AlwaysOn解决网络抖动导致的提交延迟问题
事件起因:近期有研发反应,某数据库从08切换到12环境后,不定期出现写操作提交延迟的问题;事件分析:在排除了系统资源争用等问题后,初步分析可能由于网络抖动导致同步模式alwayson节点经常出现会话超时等待提交的问题导致。经过排查,扩展事件里发现不定期出现35202错误,这是一条副本连接恢复的消息...
数据库操作教程 2022-09-23 16:45:22 -
在SQLServer中将数据导出为XML和Json的方法
有时候需要一次性将SQLServer中的数据导出给其他部门的也许进行关联或分析,这种需求对于SSIS来说当然是非常简单,但很多时候仅仅需要一次性导出这些数据而建立一个SSIS包就显得小题大做,而SQLServer的导入导出工具其中BUG还是蛮多的,最简单的办法是BCP。 数据导出为XML 在SQLServer2005之后提供了一个forxml子句在关系数据库中原生支持XML...
数据库操作教程 2022-09-23 16:45:14 -
SQLServer中将数据导出为XML和Json方法分享
有时候需要一次性将SQLServer中的数据导出给其他部门的也许进行关联或分析,这种需求对于SSIS来说当然是非常简单,但很多时候仅仅需要一次性导出这些数据而建立一个SSIS包就显得小题大做,而SQLServer的导入导出工具其中BUG还是蛮多的,最简单的办法是BCP。 数据导出为XML 在SQLServer2005之后提供了一个forxml子句在关系数据库中原生支持XML...
数据库操作教程 2022-09-23 16:45:13 -
sqlserverBulkInsert命令详细
BULKINSERT以用户指定的格式复制一个数据文件至数据库表或视图中。语法:BULKINSERT[['database_name'.]['owner'].]{'table_name'FROM'data_file'}WITH([BATCHSIZE[=batch_size]],[CHECK_CONSTRAINTS],[CODEPAGE[='ACP'|'OEM'|'RAW'|'code_page']],[DATAFILETYPE[='char'|'native'|'widechar'|'widenative']],[FIELDTERMINATOR[='field_terminator']],[FIRSTROW[=first_row]],[FIRE_TRIGGERS],[FORMATFILE='format_file_path'],[KEEPIDENTITY],[KEEPNULLS],[KILOBYTES_PER_BATCH[=kilobytes_per_batch]],[LASTROW[=last_row]],[MAXERRORS[=max_errors]],[ORDER({column[...
数据库操作教程 2022-09-23 16:44:55 -
SQLServer之JSON函数详解
SQLServer2005开始支持XML数据类型,提供原生的XML数据类型、XML索引及各种管理或输出XML格式的函数。随着JSON的流行,SQLServer2016开始支持JSON数据类型,不仅可以直接输出JSON格式的结果集,还能读取JSON格式的数据...
数据库操作教程 2022-09-23 16:44:16 -
SQLserver2014(ForAlwaysOn)安装图文教程
SQLserver2014AlwaysOn在SQLserver2012的基础之上,进行了很大程度的增加,如可以通过“添加Azure副本向导”简化了用于AlwaysOn可用性组的混合解决方案创建;辅助副本的最大数目从4增加到8;断开与主副本的连接时,或者在缺少群集仲裁期间,可读辅助副本现在保持可用于读取工作负荷;故障转移群集实例(FCI)现在可使用群集共享卷(CSV)作为群集共享磁盘;提供了一个新的系统函数sys.fn_hadr_is_primary_replica和一个新的DMVsys.dm_io_cluster_valid_path_names;以下DMV已得到增强,现在返回FCI信息:sys.dm_hadr_cluster、sys.dm_hadr_cluster_members和sys.dm_hadr_cluster_networks等等。本文描述了AlwaysOn部署前SQLserver2014的安装过程,供大家参考...
数据库操作教程 2022-09-23 16:44:13