`

sql 语句 相同数据更新,不同数据插入

SQL 
阅读更多

执行一条Sql语句,相同的vendor_id ,inventory_item_id就更新,不同的插入新增数据

 

merge into tscs_ems_upload_storage_t a

using (select ? as vendor_id,

                     ? as inventory_item_id ,

                     ? as description ,? as unit,

                     ? as quantity,? as check_date,

                     ? as last_updated_by,

                     ? as created_by from dual) b

on (a.vendor_id = b.vendor_id and a.inventory_item_id = b.inventory_item_id)

when matched then

      update set

            a.description  = b.description,

            a.unit = b.unit,

            a.quantity  = b.quantity,

            a.check_date  = to_date(b.check_date,'yyyy-MM-dd'),

            a.last_updated_by = b.last_updated_by,

           a.last_update_date = sysdate

when not matched then

   insert (a.id,a.vendor_id,a.inventory_item_id,a.description,a.unit,a.quantity,

             a.check_date,a.created_by,a.last_updated_by)

values(tscs_ems_upload_storage_s.nextval,b.vendor_id,

            b.inventory_item_id,b.description,b.unit,b.quantity,

             to_date(b.check_date,'yyyy-MM-dd'),b.created_by,b.last_updated_by)

分享到:
评论
1 楼 wangxieke 2012-02-09  

相关推荐

    经典SQL语句大全

    15、说明:选择在每一组b值相同的数据中对应的a最大的记录的所有信息(类似这样的用法可以用于论坛每月排行榜,每月热销产品分析,按科目成绩排名,等等.) select a,b,c from tablename ta where a=(select max(a) from ...

    Sql经典练习题库(附答案)

    它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以,具有完全不同底层结构的不同数据库系统,可以使用相同的SQL语言作为数据输入与管理的SQL接口。 它以记录集合作为操作对象,所有SQL...

    工作中非常有用的工具sql语句

    几个工作中非常有用的工具sql语句 1、将查询结果写到另外一个新表里面(通过sql来建立表) 2、将查询结果集插入到已经存在的某个表中的对应字段 3、删除数据库的重复记录(所有字段数据都相同的才算重复,也可以...

    实验四视图、数据控制与嵌入式SQL语言实验

    ③ 在查询分析器中用SQL语句来创建视图View3和视图View4,视图View3的要求与View1相同,视图View4与视图View2的条件相同。 2、数据控制实验 ① 假定系统有U1、U2、U3 、U4、U5、U6六个登录用户,试将查询图书表的...

    经典全面的SQL语句大全

    经典SQL语句大全 下列语句部分是Mssql语句,不可以在access中使用。  SQL分类:  DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE)  DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT)  DCL—数据控制...

    完美解决Thinkphp3.2中插入相同数据的问题

    为了避免插入相同的数据(所谓相同的数据,其主键相同或者是唯一索引的字段相同),我创建的索引如下图,主键索引为自增字段,不可能出现重复,即唯一索引可能会出现重复,我希望的是uid,year,mounth,day 这三个字段...

    达梦数据库_SQL语言手册

    数据插入语句 数据修改语句 数据删除语句 伪列的使用 和 自增列的使用 自增列定义 属性 第章视图 视图的作用 视图的定义 视图的删除 视图的查询 视图数据的更新 第章嵌入式 前缀和终结符 宿主变量...

    Oracle DBA 常用的一些SQL语句(50个)

    查看某个进程正在执行什么SQL语句.sql 查看用户表所占空间的大小.sql 查看系统SGA区状态.sql 查看系统中使用了哪些设备文件.sql 查看系统中每个表空间的使用情况.sql 查看系统中每个表空间的大小.sql 查看系统联接数...

    s,p,j,spj表所有数据插入语句以及查询实验1到4

    数据库原理实验一到实验四(简单查询,连接查询,分组查询,exists查询,建立账户,登录名,授权,取消权限),包括S,P,J,SPJ四个表数据insert所有数据语句

    S.Q.LSQL全称

    他不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统可以使用相同的SQL语言作为数据输入与管理的接口。它以记录集合作为操纵对象,所有SQL语句接受...

    超实用sql语句

    10、说明:几个简单的基本的sql语句 选择:select * from table1 where 范围 插入:insert into table1(field1,field2) values(value1,value2) 删除:delete from table1 where 范围 更新:update table1 set field1...

    在SQL Server数据库之间进行数据导入导出

    将SELECT查出的数据插入到这个空表中。在使用SELECT INTO语句时,INTO后跟的表必须在数据库不存在,否则出错,下面是一个使用SELECT INTO的例子。  假设有一个表table1,字段为f1(int)、f2(varchar(50))。 SELECT*...

    实验四 视图、数据控制

    ③ 在查询分析器中用SQL语句来创建视图View3和视图View4,视图View3的要求与View1相同,视图View4与视图View2的条件相同。 2、数据控制实验 ① 假定系统有U1、U2、U3 、U4、U5、U6六个登录用户,试将查询图书表的...

    根据表名及字段,自动生成insert,update,select语句

    首先在数据库中创建存储过程和方法,然后调用创建好的存储过程,生成带有与表名及字段相关的insert,update,delete语句,变量与表字段名相同,例如: "insert into temp (col1,col2,col3) values ('"+col1+"','"+col2...

    SQLServer2008存储过程实现数据插入与更新

     2)有主键相同,但是数据不同的数据,进行更新处理(返回值:2);  3)没有数据,进行插入数据处理(返回值:1)。 根据不同的情况设置存储过程的返回值,调用存储过程的时候,根据不同的返回值,进行相关的处理...

    sql经典语句一部分

    经典SQL语句大全 一、基础 1、说明:创建数据库 CREATE DATABASE database-name 2、说明:删除数据库 drop database dbname 3、说明:备份sql server --- 创建 备份数据的 device USE master EXEC sp_addumpdevice ...

    sqlserver中重复数据值只取一条的sql语句

    代码如下: –建立数据表createtable TestData ( ID int identity(1,1) primary key, Data int, ColA varchar(20), ColB varchar(20) ) go –插入测试数据 declare @counts int declare @i int set @counts = 10000 ...

    经典SQL脚本大全

    │ │ 3.6.4 动态他Transact-SQL语句处理中的常见问题演示.sql │ │ 3.7.3 text与ntext字段的复制和合并处理示例.sql │ │ 3.7.4 text与image字段转换处理示例.sql │ │ 3.7.5 ntext字段的REPLACE处理示例.sql │...

    MYSQL常用命令大全

    如一个只进行数据插入的用户不应赋予其删除数据的权限。MySql的用户管理是通过 User表来实现的,添加新用户常用的方法有两个,一是在User表插入相应的数据行,同时设置相应的权限;二是通过GRANT命令创建具有某种...

    数据库操作语句大全(sql)

    15、说明:选择在每一组b值相同的数据中对应的a最大的记录的所有信息(类似这样的用法可以用于论坛每月排行榜,每月热销产品分析,按科目成绩排名,等等.) select a,b,c from tablename ta where a=(select max(a) from ...

Global site tag (gtag.js) - Google Analytics