存储过程 更新数据

merge into 表名 a
using(
select  
from
where
group by 
)  on (

条件
)

--如果条件成立,执行更新
when matched then
update set 只需更改条件即可

--如果条件不成立,执行添加
when not matched then
insert (
) values(
);
commit;

时间: 2024-07-29 01:43:27

存储过程 更新数据的相关文章

SQLServer用存储过程实现插入更新数据

实现 1)有相同的数据,直接返回(返回值:0): 2)有主键相同,但是数据不同的数据,进行更新处理(返回值:2): 3)没有数据,进行插入数据处理(返回值:1). [创建存储过程] Create proc Insert_Update @Id varchar(20), @Name varchar(20), @Telephone varchar(20), @Address varchar(20), @Job varchar(20), @returnValue int output as declar

采用存储过程的方式批量更新数据

采用存储过程的方式批量更新数据,Oracle中也可采用merge-update的方式更新,不过采用如下存储过程的方式会更快些 DECLARE   MAX_ROWS            NUMBER DEFAULT 5000;   ROW_ID_TABLE        DBMS_SQL.UROWID_TABLE;   DATE_TIME_TABLE      DBMS_SQL.DATE_TABLE;   CURSOR C1 IS     SELECT /*+ use_hash(t1,t2) p

SQL Server编程必知必会(插入/删除/更新数据,视图) -- (80-85 点总结)

------------------------插入数据------------------------- 80.1. 插入完整的行-- 各个列必须以他们在表定义中出现的次序填充INSERT INTO customersVALUES ('Pep E. LaPew','100 Main Street','LOS Angeles','CA','90046','USA',NULL,NULL) -- INSERT 语句的安全操作方法,指定列, INTO 关键字是可选的INSERT INTO custom

ASP.NET编辑与更新数据(非GridView控件实现)

Insus.NET在实现<ASP.NET开发,从二层至三层,至面向对象 (5)>http://www.cnblogs.com/insus/p/3880606.html 中,没有把数据编辑与更新功能一起演示,留下给网友们自由发挥,但是还是有网友想看看Insus.NET用实现方法. 以前Insus.NET的做法,是在GridView控件中进行.如这篇视频教程<GridView Edit Update Cancel Delete>http://www.cnblogs.com/insus/

.Net中批量更新数据(没有数据就添加)

方法一:使用SqlBulkCopy实现批量更新或添加数据. SqlBulkCopy类一般只能用来将数据批量插入打数据库中,如果数据表中设置了主键,出现重复数据的话会报错,如果没有设置主键,那么将会添加同样的数据,导致数据重复.这里有两种方案可实行方案,实现批量将数据更新到数据表中.如果数据存在,就更新数据:如果不存在,则添加一条新的数据 这两种方案都需要添加一个新的用作临时存储数据的表,假如有两个表 BatchTableTemp和BatchTable, SqlBulkCopy类先批量将数据添加到

thinkphp 的save()不能更新数据解决办法

用save()方法始终更新不了数据,又不显示明确的错误信息,找了好久才在手册里看到一句至关重要的话: 为了保证数据库的安全,避免出错更新整个数据表,如果没有任何更新条件,数据对象本身也不包含主键字段的话,save方法不会更新任何数据库的记录. 因此在使用create自动更新数据时,要在表单添加一个隐藏域,其值为数据表的id值! thinkphp 的save()不能更新数据解决办法,布布扣,bubuko.com

Django开发运维后台(二):建立模型与更新数据

上一篇文章我已经新建了一个SaAdmin的APP,现在开始在这APP下面来code 1.修改setting.py的数据库连接: DATABASES = {     'default': {         'ENGINE':'django.db.backends.mysql',         'NAME': 'QjshAdmin',         'USER': 'root',         'PASSWORD': 'lihuipeng',         'HOST': 'localho

经验总结16--EF局部更新数据

EF提供更新某个实体的某些数据,而其他数据保留的功能. 1.重新实例一个实体,并给予ID和需要修改的字段.注:此处的实体不能从数据库中查询,只能新的实例. Order order = new Order() { ID = id }; order.Name= "test222"; 2.包含该实体,更新策略为Unchanged,设置需要更新的字段. DbEntityEntry<Order> entry = db.Entry<Order>(order); entry.

Sql语句批量更新数据(多表关联)

最近在项目中遇到一个问题,原来设计的功能是不需要一个特定的字段值depid的,但是新的功能需要根据depid来展现,于是出现了这样一个问题,新增加的数据都有正确的depid,而原来的大量的数据就没有depid或者说depid不是想要的,面临要批量更新原来数据depid的问题. 更新涉及到三个表base_cooperativeGroup,base_groupuser,base_user. 列出表结构: 1.base_cooperativeGroup 2.base_groupuser 3.base_