-
SQLServer用存储过程实现插入更新数据示例
所属栏目:[MsSql教程] 日期:2020-12-12 热度:150
实现 1)有相同的数据,直接返回(返回值:0); 2)有主键相同,但是数据不同的数据,进行更新处理(返回值:2); 3)没有数据,进行插入数据处理(返回值:1)。 【创建存储过程】 @Id varchar(20),@Name varchar(20),@Telephone varchar(20),@Address va[详细]
-
SqlServer中tempdb的日志机制原理解析及示例分享
所属栏目:[MsSql教程] 日期:2020-12-12 热度:72
测试用例 我们分别在用户数据库(testpage),tempdb中创建相似对象t1,#t1,并在tempdb中创建创建非临时表,然后执行相应的insert脚本(用以产生日志),并记录执行时间用以比较用以比较说明tempdb”快” Code 用户数据库testpage declare @t datetime2=sysutcdateti[详细]
-
SqlServer数据库提示 “tempdb” 的日志已满 问题解决方案
所属栏目:[MsSql教程] 日期:2020-12-12 热度:187
执行sql 语句,中间没有用到临时表 网上找了下解决方案,大体是扩大临时库的日志文件的大小解决的 解决过程: 查看了下数据库的属性,是自动增长,不指定文件大小上限。 在网上Google了很久,试了些方法都不行;数据库所在磁盘还有很大的可用空间,试着下重[详细]
-
浅谈tempdb在SqlServer系统中的重要作用
所属栏目:[MsSql教程] 日期:2020-12-12 热度:131
简介: tempdb是SQLServer的系统数据库一直都是SQLServer的重要组成部分,用来存储临时对象。可以简单理解tempdb是SQLServer的速写板。应用程序与数据库都可以使用tempdb作为临时的数据存储区。一个实例的所有用户都共享一个Tempdb。很明显,这样的设计不是[详细]
-
SqlServer提示“列前缀tempdb.无效: 未指定表名”问题解决方案
所属栏目:[MsSql教程] 日期:2020-12-12 热度:86
在查询凭证、审核凭证时出现“列前缀tempdb.无效: 未指定表名”的错误提示,怎么解决? 原因:是因为SQL2000无法识别计算机名称中”-”、”、”以及中文字等特殊字符,只能使用英文字母及数字。 解决:右键我的电脑“属性”中“计算机名”点击修改,改为纯英[详细]
-
SQL命令优化需要记住的9点事项
所属栏目:[MsSql教程] 日期:2020-12-12 热度:177
与数据库交互的基本语言是sql,数据库每次解析和执行sql语句多需要执行很多步骤。以sql server为例,当数据库收到一条查询语句时,语法分析器会扫描sql语句并将其分成逻辑单元(如关键词、表达式、运算符和标识符)并生成查询树,最后查询优化器将分析所有可[详细]
-
教你如何看懂SQL Server查询计划
所属栏目:[MsSql教程] 日期:2020-12-12 热度:173
对于SQL Server的优化来说,优化查询可能是很常见的事情。由于数据库的优化,本身也是一个涉及面比较的广的话题,因此本文只谈优化查询时如何看懂SQL Server查询计划。毕竟我对SQL Server的认识有限,如有错误,也恳请您在发现后及时批评指正。 首先,打开【[详细]
-
sql server 2000数据库备份还原的图文教程
所属栏目:[MsSql教程] 日期:2020-12-12 热度:118
p align="left"MSSQL是微软公司的一款数据库管理系统,本文将详细介绍MSSQL2000中数据库的备份和还原功能。 p align="left"1、首先请保证您的备份文件是bak文件,并且备份文件能够正常还原。 p align="left"2、打开“企业管理器”→“数据库”,选择您要还原[详细]
-
SqlServer2012中First_Value函数简单分析
所属栏目:[MsSql教程] 日期:2020-12-12 热度:150
First_Value返回结果集中某列第一条数据的值,跟TOP 1效果一样,比较简单的一个函数 先贴测试用代码 SELECT * FROM @TestData 下边使用FIRST_VALUE函数,创建一列新列,返回结果集中第一行的LastName值,这个所谓的第一行受OVER里的ORDER BY影响,看图和代码[详细]
-
SqlServer2012中LEAD函数简单分析
所属栏目:[MsSql教程] 日期:2020-12-12 热度:189
LEAD函数简单点说,就是把下一行的某列数据提取到当前行来显示,看示例更能解释清楚,先看测试用脚本 SELECT * FROM @TestData 以上是原始数据,下边应用LEAD函数,看下怎么把其它行的数据提取到当前行显示的 可以看到,LEAD函数把ID为2的那一行的LastName值[详细]
-
sql语句中单引号嵌套问题(一定要避免直接嵌套)
所属栏目:[MsSql教程] 日期:2020-12-12 热度:105
在sql语句中,我们难免会用到单引号嵌套的时候,但是直接嵌套肯定是不行的,java中用反斜杠做转义符也是不行的,在sql中是用单引号来做转义符的。 比如下面例子是存储过程里查询时的语句示例 红色部分是会报错的,应该写成 @condition= 'ROOMTYPElike ‘ ‘%[详细]
-
谈谈sqlserver自定义函数与存储过程的区别
所属栏目:[MsSql教程] 日期:2020-12-12 热度:151
一、自定义函数: 1. 可以返回表变量 2. 限制颇多,包括 不能使用output参数; 不能用临时表; 函数内部的操作不能影响到外部环境; 不能通过select返回结果集; 不能update,delete,数据库表; 3. 必须return 一个标量值或表变量 自定义函数一般用在复用度[详细]
-
深入分析SqlServer查询计划
所属栏目:[MsSql教程] 日期:2020-12-12 热度:101
对于SQL Server的优化来说,优化查询可能是很常见的事情。由于数据库的优化,本身也是一个涉及面比较的广的话题, 因此本文只谈优化查询时如何看懂SQL Server查询计划。毕竟我对SQL Server的认识有限,如有错误,也恳请您在发现后及时批评指正。 首先,打开[详细]
-
sql 判断字符串中是否包含数字和字母的方法
所属栏目:[MsSql教程] 日期:2020-12-12 热度:74
判断是否含有字母 (如果存在字母,结果>1) 判断是否含有数字 (如果存在数字,结果>1)[详细]
-
SQLServer中bigint转int带符号时报错问题解决方法
所属栏目:[MsSql教程] 日期:2020-12-12 热度:94
有一个需求是要在一个云监控的状态值中存储多个状态(包括可同时存在的各种异常、警告状态)使用了位运算机制在一个int型中存储。 现在监控日志数据量非常大(亿级别)需要对数据按每小时、每天进行聚合,供在线报表使用。 状态分了3个级别:正常(0)、警告[详细]
-
将一个表中个某一列修改为自动增长的方法
所属栏目:[MsSql教程] 日期:2020-12-12 热度:57
昨天有位学生问我“一个表已经建好了,能不能将里面的一个字段改为自动增长?”,“能,但没有必要去修改它,应该在建表的时候就设计好” 我说。 这时候他和另一位学生 讨论起来。他觉得可以,另一位试过说不行。因为他们不是我带班级的学生,他们也咨询了自[详细]
-
SQL Server中聚合历史备份信息对比数据库增长的方法
所属栏目:[MsSql教程] 日期:2020-12-12 热度:122
很多时候,在我们规划SQL Server数据库的空间,或向存储方面要空间时,都需要估算所需申请数据库空间的大小,估计未来最简单的办法就是看过去的趋势,这通常也是最合理的方式。 通常来讲,一个运维良好的数据库都需要做定期基线(baseline),有了基线才会知[详细]
-
SQL Server中调用C#类中的方法实例(使用.NET程序集)
所属栏目:[MsSql教程] 日期:2020-12-12 热度:138
需求是这样的,我在.net程序里操作数据时将一些字段数据加密了,这些数据是很多系统共用的,其中一delphi程序也需要用到,并且需要将数据解密,由于我在.net里加密的方式比较特殊,在delphi程序里解密比较繁琐且要消耗很多时间,所以不得不让sqlserver调用程[详细]
-
SQL Server恢复模型之批量日志恢复模式
所属栏目:[MsSql教程] 日期:2020-12-12 热度:123
你是否想知道为什么事务日志文件会变得越来越大?事务日志有时候甚至会比你的实际数据库文件还要大,尤其是在应用数据仓库的情况下。为什么会发生这种情况呢?如何控制其大小?数据库恢复模型如何控制事务日志增长?在本系列文章中,我们就将一一给出解答。[详细]
-
SQL Server 提取数字、提取英文、提取中文的sql语句
所属栏目:[MsSql教程] 日期:2020-12-12 热度:177
div class="jb51code" pre class="brush:sql;" --SQL 判断字段值是否有中文 create function fun_getCN(@str nvarchar(4000)) returns nvarchar(4000) as begin declare @word nchar(1),@CN nvarchar(4000) set @CN='' while len(@str)0 begin set @word=lef[详细]
-
SQL Server 监控磁盘IO错误,msdb.dbo.suspect_pages
所属栏目:[MsSql教程] 日期:2020-12-12 热度:54
suspect_pages 表位于 msdb 数据库中,是在 SQL Server 2005 中引入的。用于维护有关可疑页的信息的 suspect_pages 数据库管理员负责管理表(主要通过删除旧的行实现)。suspect_pages 表有大小限制,如果此表已满,则不会记录新的错误。若要防止此表填满,[详细]
-
SQL Server中发送HTML格式邮件的方法
所属栏目:[MsSql教程] 日期:2020-12-12 热度:68
sql server 发送html格式的邮件,参考代码如下: -- 如果有数据则发送 if exists (select top 1 * from t_table1(nolock) where d_rq=@d_nowdate) begin set @str_subject='某某'+convert(varchar(10),@d_nowdate,120)+'净值.'; SET @tableHTML = N' 某某 目[详细]
-
Sql Server中常用的6个自定义函数分享
所属栏目:[MsSql教程] 日期:2020-12-12 热度:58
在日常应用中,往往根据实际需求录入一些值,而这些值不能直接使用,所以Sql中经常会对字段值进行一些常规的处理。这里搜集了(提取数字、英文、中文、过滤重复字符、分割字符的方法),方便日后查询使用。 一、判断字段值是否有中文 0 begin set @word=left[详细]
-
sqlserver 增删改查一些不常用的小技巧
所属栏目:[MsSql教程] 日期:2020-12-12 热度:95
一 Insert 语句 1.在数据中只插入默认值: insert into [DBTrain].[dbo].[log_info] default values 2.在可以为null 的字段中,如果要设置null,可以按下[Ctrl+0],注意是零不是o,如果要恢复修改前的值按[Esc] 二 Update 语句 可以更新前几条或某个百分比的[详细]
-
总结下sqlserver group by 的用法
所属栏目:[MsSql教程] 日期:2020-12-12 热度:168
今天用实例总结一下group by的用法。 归纳一下:group by:ALL ,Cube,RollUP,Compute,Compute by 创建数据脚本 Create Table SalesInfo (Ctiy nvarchar(50), OrderDate datetime, OrderID int ) insert into SalesInfo select N'北京','2014-06-09',1001[详细]