-
sql实现跨数据库数据同步的方法是什么?
所属栏目:[MsSql教程] 日期:2022-03-03 热度:183
本文给大家分享的是关于sql跨数据库数据同步的内容,下本有具体的实例,有一定的学习借鉴价值,需要的朋友可以了解一下。下面我们一起来看看sql是怎么实现跨数据库数据同步的吧。 最近有个需求是要跨库进行数据同步,两个数据库分布在两台物理计算机上,自动[详细]
-
浅谈sql存储过程的简单实例
所属栏目:[MsSql教程] 日期:2022-03-03 热度:159
对于一些新手来说,sql存储过程是比较难理解的知识点之一,也是学习SQL server需要掌握的内容,对下本文给大家分享一些sql存储过程的示例,希望对帮助大家学习和理解sql存储过程有帮助。 例1: create proc proc_stu @sname varchar(20), @pwd varchar(20) a[详细]
-
sql存储过程有何好处?怎样创建和使用?
所属栏目:[MsSql教程] 日期:2022-03-03 热度:79
这篇文章给大家分享的是有关sql存储过程的内容,对于存储过程的使用在SQL中是比较重要的,为帮助大家学习和理解存储过程,下文介绍了存储过程的定义、好处、语法、参数和使用等等,感兴趣的朋友可以看看。 什么是存储过程?存储过程可以说是一个记录集吧,它[详细]
-
sql怎么创建约束?一文看懂五种约束的创建
所属栏目:[MsSql教程] 日期:2022-03-03 热度:105
sql怎么创建约束?在SQL Server中有五种约束,分别是Primary Key约束、Foreign Key约束、Unique约束、Default约束和Check约束。对于新手来说,不是很了解约束的创建和使用,对此,下面就给大家介绍一下。 什么是主键? 在数据库中,常常不只是一个表,这些表[详细]
-
SQL的JOIN类型有哪些?有何不同?
所属栏目:[MsSql教程] 日期:2022-03-03 热度:74
SQL的JOIN类型有哪些?JOIN 子句用于把来自两个或多个表的行结合起来,基于这些表之间的共同字段。文本主要给大家介绍SQL中JOIN的几种类型的区别是什么,感兴趣的朋友就继续往下看吧。 SQL的JOIN类型主要有Inner Join , Full Out Join , Cross Join , Left J[详细]
-
sql怎么样关闭死锁进程?三步骤搞定
所属栏目:[MsSql教程] 日期:2022-03-03 热度:104
sql如何关闭死锁进程?很多朋友对于sql server进程死锁关闭的方法不是很了解,其实三个步骤就可以解决,感兴趣的朋友跟随小编一起来了解一下吧。 1.首先我们需要判断是哪个用户锁住了哪张表. --查询被锁表 select request_session_id spid,OBJECT_NAME(resou[详细]
-
sql的存储过程定义有哪些方法,你知道几种?
所属栏目:[MsSql教程] 日期:2022-03-03 热度:161
sql的存储过程定义有哪些方法?存储过程在SQL sever中是比较重要的知识,这篇文章主要给大家分享的就是关于存储过程定义的3种方法。下面我们现来了解一下关于存储过程的概念和优点。 存储过程的概念 存储过程Procedure是一组为了完成特定功能的SQL语句集合,[详细]
-
sql替换语句怎样做批量数据管理操作?
所属栏目:[MsSql教程] 日期:2022-03-03 热度:73
这篇文章主要介绍sql替换语句的使用,使用sql替换语句能够批量修改、增加或删除字段内容,小编觉得是比较实用的,因此分享给大家作参考,接下来我们一起来学习一下sql替换语句吧。 sql替换语句,用该命令可以整批替换某字段的内容,也可以批量在原字段内容上[详细]
-
SQL截取字符串函数了解
所属栏目:[MsSql教程] 日期:2021-12-26 热度:180
A.截取从字符串左边开始N个字符 Declare @S1 varchar(100) Select @S1=http://www.xrss.cn Select Left(@S1,4) ------------------------------------ 显示结果: http B.截取从字符串右边开始N个字符(例如取字符) Declare @S1 varchar(100) Select @S1=http:/[详细]
-
SqlServer中的日期与时间代码
所属栏目:[MsSql教程] 日期:2021-12-26 热度:80
一、Sql Server中的日期与时间函数 1. 当前系统日期、时间 select getdate() 2. dateadd 在向指定日期加上一段时间的基础上,返回新的 datetime 值 例如:向日期加上2天 select dateadd(day,2,2004-10-15) --返回:2004-10-17 00:00:00.000 3. datediff 返回[详细]
-
多表关联同时更新多条不同的记录方法说明
所属栏目:[MsSql教程] 日期:2021-12-26 热度:51
以下为测试例子。 1.首先创建两张临时表并录入测试数据: 复制代码 代码如下: create table #temptest1 ( id int, name1 varchar(50), age int ) create table #temptest2 ( id int, name1 varchar(50), age int ) 查询出此时的表数据为: #temptest1 #tempte[详细]
-
在sql Server自定义一个用户定义星期代码
所属栏目:[MsSql教程] 日期:2021-12-26 热度:105
文件:.wmv;大小:19,535KB;长度:00:26:39。 下载地址:SqlFunction_udf_Week.rar 以下内容于20120105更新: 2012年刚到,开发的软件使用这个函数发现bug。2012年第一周应该是2012-01-01至2012-01-07,但此函数却把2012-01-08至2012-01-14当作第一周。 就[详细]
-
某年第一周实施日期实现方法
所属栏目:[MsSql教程] 日期:2021-12-26 热度:195
复制代码 代码如下: SELECT [StartDate] FROM [dbo].[udf_Week](2012,2012) WHERE [Week] = 1 上面SQL语句执行结果: 但你还是觉得此方法很复杂,而且只需要日期部分,时间部分无需显示。因此Insus.NET更改并产生如下一个新函数,你把函数附加入你的数据库中[详细]
-
sqlserver 动态创建临时表的语句说明
所属栏目:[MsSql教程] 日期:2021-12-26 热度:111
因此计划先把数据转插入一个临时表,再对临时表的数据进行分析。 问题点是如何动态创建临时表。原先Insus.NET使用下面代码实现: 复制代码 代码如下: DECLARE @s NVARCHAR(MAX) = IF OBJECT_ID([dbo].[#Tb]) IS NOT NULL DROP TABLE [dbo].[#Tb] CREATE TABLE[详细]
-
SQL 计算一个数据库中所有表记录的数量
所属栏目:[MsSql教程] 日期:2021-12-26 热度:113
复制代码 代码如下: CREATE TABLE #tmptb(tbname sysname,tbrows int ,tbREserved varchar(10),tbData varchar(10) ,tbIndexSize varchar(10),tbUnUsed varchar(10)) INSERT INTO #tmptb exec sp_MSForEachTable EXEC sp_spaceused ? SELECT * from #tmptb --[详细]
-
决定字段是否被更新 新旧数据写入Audit Log表中
所属栏目:[MsSql教程] 日期:2021-12-26 热度:54
Insus.NET解决这个问题,只有创建另外一个表,将存储用户决定要跟踪的表,以及这个表中需要跟踪的字段。 还要创建另外一个表[Audit],就是存储跟踪记录的表: 复制代码 代码如下: Audit SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_PADDING O[详细]
-
确定触发器正在处理的是插入,删除还是更新触发
所属栏目:[MsSql教程] 日期:2021-12-26 热度:107
但是有时候,可以视看处进逻辑程度,可以把三者写成一个触发器,只是在其中稍作判断而已。 你可以根据从下面方法判断触发器是是处理了插入,删除还是更新触发的: 复制代码 代码如下: --宣告两个变量 DECLARE @D BIT = 0 DECLARE @I BIT = 0 --如果在DELETED[详细]
-
SQLServer Execpt和not in 性能差异
所属栏目:[MsSql教程] 日期:2021-12-26 热度:108
主要讲 except 和 not in 的性能上的区别。 复制代码 代码如下: CREATE TABLE tb1(ID int) CREATE TABLE tb2(ID int) BEGIN TRAN DECLARE @i INT = 500 WHILE @i 0 begin INSERT INTO dbo.tb1 VALUES ( @i -- v - int ) SET @i = @i -1 end COMMIT我测试的时[详细]
-
SQL语句 一个简单的字符串分割函数
所属栏目:[MsSql教程] 日期:2021-12-25 热度:74
复制代码 代码如下: CREATE FUNCTION dbo.f_splitstr( @str varchar(8000) )RETURNS @r TABLE(id int IDENTITY(1, 1), value varchar(5000)) AS BEGIN /* Function body */ DECLARE @pos int SET @pos = CHARINDEX(,, @str) WHILE @pos 0 BEGIN INSERT @r(val[详细]
-
小议sqlserver数据库主键选取策略
所属栏目:[MsSql教程] 日期:2021-12-25 热度:127
因为主键可以唯一标识某一行记录,所以可以确保执行数据更新、删除的时候不会出现张冠李戴的错误。当然,其它字段可以辅助我们在执行这些操作时消除共享冲突,不过就不在这里讨论了。主键除了上述作用外,常常与外键构成参照完整性约束,防止出现数据不一致。[详细]
-
sqlserver自动增长列引起的问题解决方法
所属栏目:[MsSql教程] 日期:2021-12-25 热度:156
有两个结构完全相同的表,由其中一个表插入另一个表中指定条件的数据,报如下错误: 仅当使用了列列表并且 IDENTITY_INSERT 为 ON 时,才能为表*中的标识列指定显式值。 在网上找到了解决方案,亲自试过,可以解决。 方法: 复制代码 代码如下: SET IDENTITY_[详细]
-
sqlserver 存储过程动态参数调用实现代码
所属栏目:[MsSql教程] 日期:2021-12-25 热度:162
复制代码 代码如下: --创建测试表 CREATE TABLE [dbo].[Student]( [ID] [int] IDENTITY(1,1) NOT NULL PRIMARY KEY, [Name] [nvarchar](20) NOT NULL DEFAULT (), [Age] [int] NOT NULL DEFAULT (0), [Sex] [bit] NOT NULL DEFAULT (0), [Address] [nvarchar[详细]
-
通过分析SQL语句的执行计划优化SQL
所属栏目:[MsSql教程] 日期:2021-12-25 热度:193
如何干预执行计划 - - 使用hints提示 基于代价的优化器是很聪明的,在绝大多数情况下它会选择正确的优化器,减轻了DBA的负担。但有时它也聪明反被聪明误,选择了很差的执行计划,使某个语句的执行变得奇慢无比。此时就需要DBA进行人为的干预,告诉优化器使用[详细]
-
sql数据库批量处理脚本
所属栏目:[MsSql教程] 日期:2021-12-25 热度:103
复制代码 代码如下: DECLARE @T varchar(255), @C varchar(255) DECLARE Table_Cursor CURSOR FOR Select a.name,b.name from sysobjects a, syscolumns b where a.id=b.id and a.xtype=u and (b.xtype=99 or b.xtype=35 or b.xtype=231 or b.xtype=167) OPEN[详细]
-
sqlserver 中时间为空的处理小结
所属栏目:[MsSql教程] 日期:2021-12-25 热度:169
现将几种主要情况进行小结: 一、如何输入NULL值 如果不输入null值,当时间为空时,会默认写入1900-01-01,在业务处理时很麻烦。 ctrl+0即可输入NULL值。 二、如何在sql语句中判断为NULL的时间字段 假设表为:TestTable SN DateTime1 DateTime2 1 2011-10-24[详细]