数据库insert and update--查询是否主键存在和插入语句用一条sql来实现。
2011-01-24 15:13
821 查看
如果插入一条记录到数据库里面,总是要先查询该条记录是否存在,不存在则插入,如果存在则放弃或者给出提示信息,
能否用一条记录来实现呢?
我找到了DB2和oracle的sql用法:
DB2:
MERGE INTO schema.table as T USING TABLE(VALUES('keyValue')) S(keyName) ON (T.keyName=S.keyName) WHEN NOT MATCHED THEN INSERT (keyName, contentlName) values(?,?);
oracle:
INSERT INTO schema.table (keyName, contentlName) select ?,? from dual where not exists (select * from schema.table where keyName=?);
这里都用到的是prepareStatement.
也许你用到了mysql,或者sqlServer,思路基本都一样.
effective coding can give you confidence, make you feel strong!
能否用一条记录来实现呢?
我找到了DB2和oracle的sql用法:
DB2:
MERGE INTO schema.table as T USING TABLE(VALUES('keyValue')) S(keyName) ON (T.keyName=S.keyName) WHEN NOT MATCHED THEN INSERT (keyName, contentlName) values(?,?);
oracle:
INSERT INTO schema.table (keyName, contentlName) select ?,? from dual where not exists (select * from schema.table where keyName=?);
这里都用到的是prepareStatement.
也许你用到了mysql,或者sqlServer,思路基本都一样.
effective coding can give you confidence, make you feel strong!
相关文章推荐
- SQL语句实现不存在即插入,存在则increase某字段的功能insert into … on duplicate key update
- 如何一条SQL语句 实现 不存在即 INSERT 存在即 UPDATE
- SQL语句,查询数据库里是否存在某个表
- mysql如何用一条sql语句实现不存在就插入,存在的话则更新
- SQL语句,查询数据库里是否存在某个表
- SQL语句,查询数据库里是否存在某个表
- 何用sql语句实现:将insert语句作为一个字段,插入到表格的一条记录之中
- SQL Server 2008中SQL增强之三:Merge(在一条语句中使用Insert,Update,Delete) 一条语句实现两表同步(添加、删除、修改)
- 用一条SQL语句实现向数据库中插入多条记录的方法
- SQL语句,查询数据库里是否存在某个表
- 这两个SQL语句都是查询数据库里头是否存在某个表的语句
- oracle实现 无则insert插入,有则update更新,一条语句直接进行insert/update操作
- 用一条SQL语句实现向数据库中插入多条记录的方法
- 如何得到JDBC Insert 语句执行后插入Oracle 数据库记录的主键
- 执行一条sql语句update多条记录实现思路
- oracle 建表、最大ID、判断表是否已存在、字段的查询以及增删改、插入与修改语句
- sql 查询所有数据库、表名、表字段总结,判断表/视图/存储过程是否存在
- T-SQL(标准数据库查询语句) 在SQL Server 2008 下面的 Create、Update,Delete、Select
- sql查询整个数据库中存在某个列名或者某个列包含某个值的语句
- SQL_4th_插入insert、查询select、删除delete、更新update