declare @DeptName varchar(50), @LoadCount float, @TransCount float, @HisLoad float, @HisTrans float, @Status varchar(50), @PushDate datetime, @EditDate datetime declare @date datetime set @date=convert(datetime,convert(varchar,GETDATE()-2,23)) UPDATE YSJ_Backup.dbo.RP_BusTransInfo set RBI_LoadCount=a.LoadCount, RBI_TransCount=a.TransCount,RBI_HisLoad=a.HisLoad,RBI_HisTrans=a.HisTrans, RBI_Status=a.RBI_Status,RBI_EditDate=GETDATE() from YSJ_Backup.dbo.RP_BusTransInfo inner join ( select a.RPB_Name,a.LoadCount,a.TransCount,a.HisLoad,a.HisTrans,a.RBI_Status,a.PushDate,a.EditDate from ( SELECT RP_BranchTrans.RPB_Name, ISNULL(Bus.RBI_LoadCount,0) AS LoadCount,ISNULL(Bus.RBI_TransCount,0) AS TransCount,ISNULL(Bus.RBI_HisLoad,0) AS HisLoad, ISNULL(Bus.RBI_HisTrans,0) AS HisTrans,Bus.RBI_Status,RPF.RFI_Date PushDate,GETDATE() EditDate FROM RP_BusTransInfo Bus INNER JOIN RP_BranchTrans on Bus.RPB_ID=RP_BranchTrans.RPB_ID INNER JOIN RP_FormInstance RPF ON Bus.RFI_ID = RPF.RFI_ID INNER JOIN RP_FormList FL ON FL.RFL_ID = RPF.RFL_ID WHERE FL.RFL_Code = (CASE WHEN (EXISTS (SELECT RFI_ID FROM RP_FormInstance WHERE RFL_ID = ‘RFL20090410001‘ AND RFI_Date = RPF.RFI_Date AND RFI_State = ‘1‘)) THEN ‘D203‘ ELSE ‘D103‘ END) AND RPF.RFI_Date between @date-30 and @date AND RPF.RFI_State=‘1‘ ) as a inner join YSJ_Backup.dbo.RP_BusTransInfo b on a.RPB_Name=b.RBI_Department and a.PushDate=b.RBI_PushDate where a.LoadCount!=b.RBI_LoadCount or a.TransCount!=b.RBI_TransCount or a.HisLoad!=b.RBI_HisLoad or a.HisTrans!=b.RBI_HisTrans or a.RBI_Status!=b.RBI_Status and a.PushDate between @date-30 and @date ) as a on a.PushDate=YSJ_Backup.dbo.RP_BusTransInfo.RBI_PushDate and a.RPB_Name=YSJ_Backup.dbo.RP_BusTransInfo.RBI_Department
SQLSERVER中跨库执行更新操作
时间: 2024-10-13 22:16:46
SQLSERVER中跨库执行更新操作的相关文章
Oracle update 执行更新操作后的数据恢复
操作数据库,经常会出现误操作,昨天执行的更新操作之后发现更新错了,只能想办法数据恢复了,现在整理一下 第一步:查询执行更新操作的时间 select r.FIRST_LOAD_TIME,r.* from v$sqlarea r order by r.FIRST_LOAD_TIME desc ; 执行上面那条SQL语句,在下图的SQL_TEXT字段找到你执行更新操作的那条更新语句,找到更新操作时间 第二步:创建一张新表,把数据恢复到新创建的表里 create table t_table_recove
SQLServer中跨库复制数据
SQLServer中把某个表里的记录复制到另一个数据库的表中的操作方法. 场景 现有数据库a和数据库b,数据库a里有表table1,数据库b里有表table2.现在要把表table1里的记录复制到table2中,不同情况采用不同方法. 以下是语法及例子 1. table1和table2表结构相同 use b in sert into table2 sel ect * from a.dbo.table1 2. table1和table2表结构不相同 use b in sert into table
批处理程序:自动上传FTP,再登陆linux服务器执行更新
----转载请注明出处:博客园-邦邦酱好 最近在学批处理程序,一直没找到能够结合工作来使用它的地方,前几天测试服务端的时候突然想到可以这样做: 写一个批处理程序,自动通过FTP上传软件包到指定的地方,然后自动登录Linux服务器,解压缩软件包,进行服务端的更新. 先看一下总的调度脚本Auto_Update.bat: 先让用户输入服务器的地址,再选择要执行的操作. @echo off&setlocal enabledelayedexpansion :::::::::::::::::::::::::
思考线上如何既保证不影响查询,又能做更新操作
目前遇到的情况有: 一.数据库进行在线ddl(修改表结构和字段) 也是使用重名表名的方式.复制一张表,包括里面的数据,假设名称为tmp.在这张tmp表上面执行dll语句操作.此时要记录某个时刻开始对数据库的更新操作sql,缓存起来. 执行dll操作完毕.就把之前缓存起的sql放到这个tmp表中执行一遍. 二.sphinx重建索引.此时要不能关掉shpinx,要保证能够进行正常的查询服务 使用的是重名名的方式.把最新的索引结果保存在一个.new这样的文件中.原来的所以文件假设是master,那么现
对oracle数据库进行增删改更新操作,executeUpdate()执行卡住了
原因是:oracle数据库更新数据后需要commit,不然会堵塞,就会卡住 那么每次调用executeUpdate()完后,数据库要自动commit才可以. 我的基类加了一下,注意红色字体部分代码: //增删改 public int executeUpdate(String sql,Object[] params){ int update = 0; try { pstm = connection.prepareStatement(sql); for(int i=0;i<params.length
通过 Statement 执行数据表的更新操作
通过Statement来执行SQL的Insert,Delete,Update操作 package xuezaipiao; /** * 通过JDBC向数据表中添加数据 * 1.获取数据库连接 * 2.Statement : 用于执行SQL的对象 * --通过 Connection 的createStatement() 方法来获取 * --通过executeUpdate(sql) 可以执行SQL语句 * --注意SQL 是INSERT.UPDATE.DELETE,不能是SELECT * 3.Conn
带您理解SQLSERVER是如何执行一个查询的
原文地址:http://www.cnblogs.com/lyhabc/p/3367274.html 看这篇文章之前,阁下可以先看一下下面的文章 SQLSERVER独特的任务调度算法"SQLOS" SQL Server SQLOS 的任务调度[转] 翻译自: http://rusanu.com/2013/08/01/understanding-how-sql-server-executes-a-query/ http://www.codeproject.com/Articles/6303
SqlServer 利用游标批量更新数据
原文:SqlServer 利用游标批量更新数据 SqlServer 利用游标批量更新数据 Intro# 游标在有时候会很有用,在更新一部分不多的数据时,可以很方便的更新数据,不需要再写一个小工具来做了,直接写 SQL 就可以了 Sample# 下面来看一个实际示例: Copy -- 声明字段变量 DECLARE @RegionCode INT; DECLARE @RegionName NVARCHAR(64); DECLARE @ProvinceId INT; -- 声明游标 DECLARE P
运维规范:执行写入操作时,一定不要开两个分别连入不同主机的securCRT窗口
运维规范:执行写入操作时,一定不要开两个分别连入不同主机的securCRT窗口. 本文说的是写入操作,若是查询操作,能只打开一个主机的securCRT窗口,就不要打开两个主机的securCRT窗口. 由于ogg复制环境中需要单表数据重新同步的关系,我经常在生产环境的ogg源头库中expdp,在ogg目的端库中impdp 当我在生产环境的ogg源头库中expdp完成并scp dmp 文件到目的端os之后,我会立即exit退出ogg源头的securCRT窗口. 原因是我怕impdp之前的drop t