数据库匹配插入不重复数据
2016-06-23 17:07
176 查看
insert
when (not exists (select 1 from form where formid = 111))
then
into form(formid)
select 111 from dual
sql.AppendLine(string.Format(@"declare
num int;
begin
SELECT COUNT(1) INTO num FROM HR_PunchRecord WHERE FRegNo='{0}' AND FDate='{1}'
AND FTime='{2}' AND FPunchID='{3}';if ( num = 0 ) then
declare
COU int;
begin
SELECT COUNT(1) INTO COU FROM HR_PunchRecord_backup WHERE FRegNo='{0}' AND
FDate='{1}' AND FTime='{2}' AND FPunchID='{3}';
if ( COU = 0 ) then
INSERT INTO HR_PunchRecord(
HR_PunchRecord.FID,
HR_PunchRecord.FRegNo,
HR_PunchRecord.FEmpID,
HR_PunchRecord.FPunchID,
HR_PunchRecord.FVerifyMode,
HR_PunchRecord.FDate,
HR_PunchRecord.FTime,
HR_PunchRecord.FIsNew)
SELECT
seq.nextval,
HR_Employees.FRegNo,
HR_Employees.FEmpID,
'{4}',
'{5}',
'{6}',
'{7}',
'{8}'
FROM HR_Employees WHERE HR_Employees.FRegNo ='{9}';
end if;
end;
end if;
end;",
regNo, date, time, punchID, punchID, verifyMode, date, time, '1', regNo));
// sql.AppendLine(string.Format(@"IF NOT EXISTS(SELECT 1 FROM HR_PunchRecord WHERE FRegNo='{0}' AND FDate='{1}' AND FTime='{2}' AND FPunchID='{3}')
// BEGIN
// INSERT INTO HR_PunchRecord(
// HR_PunchRecord.FID,
// HR_PunchRecord.FRegNo,
// HR_PunchRecord.FEmpID,
// HR_PunchRecord.FPunchID,
// HR_PunchRecord.FVerifyMode,
// HR_PunchRecord.FDate,
// HR_PunchRecord.FTime,
// HR_PunchRecord.FIsNew)
// SELECT
// seq.nextval,
// HR_Employees.FRegNo,
// HR_Employees.FEmpID,
// '{4}',
// '{5}',
// '{6}',
// '{7}',
// '{8}'
// FROM HR_Employees WHERE HR_Employees.FRegNo={9}
// END
// ",
// regNo, date, time, punchID, punchID, verifyMode, date, time, 1, regNo));
when (not exists (select 1 from form where formid = 111))
then
into form(formid)
select 111 from dual
sql.AppendLine(string.Format(@"declare
num int;
begin
SELECT COUNT(1) INTO num FROM HR_PunchRecord WHERE FRegNo='{0}' AND FDate='{1}'
AND FTime='{2}' AND FPunchID='{3}';if ( num = 0 ) then
declare
COU int;
begin
SELECT COUNT(1) INTO COU FROM HR_PunchRecord_backup WHERE FRegNo='{0}' AND
FDate='{1}' AND FTime='{2}' AND FPunchID='{3}';
if ( COU = 0 ) then
INSERT INTO HR_PunchRecord(
HR_PunchRecord.FID,
HR_PunchRecord.FRegNo,
HR_PunchRecord.FEmpID,
HR_PunchRecord.FPunchID,
HR_PunchRecord.FVerifyMode,
HR_PunchRecord.FDate,
HR_PunchRecord.FTime,
HR_PunchRecord.FIsNew)
SELECT
seq.nextval,
HR_Employees.FRegNo,
HR_Employees.FEmpID,
'{4}',
'{5}',
'{6}',
'{7}',
'{8}'
FROM HR_Employees WHERE HR_Employees.FRegNo ='{9}';
end if;
end;
end if;
end;",
regNo, date, time, punchID, punchID, verifyMode, date, time, '1', regNo));
// sql.AppendLine(string.Format(@"IF NOT EXISTS(SELECT 1 FROM HR_PunchRecord WHERE FRegNo='{0}' AND FDate='{1}' AND FTime='{2}' AND FPunchID='{3}')
// BEGIN
// INSERT INTO HR_PunchRecord(
// HR_PunchRecord.FID,
// HR_PunchRecord.FRegNo,
// HR_PunchRecord.FEmpID,
// HR_PunchRecord.FPunchID,
// HR_PunchRecord.FVerifyMode,
// HR_PunchRecord.FDate,
// HR_PunchRecord.FTime,
// HR_PunchRecord.FIsNew)
// SELECT
// seq.nextval,
// HR_Employees.FRegNo,
// HR_Employees.FEmpID,
// '{4}',
// '{5}',
// '{6}',
// '{7}',
// '{8}'
// FROM HR_Employees WHERE HR_Employees.FRegNo={9}
// END
// ",
// regNo, date, time, punchID, punchID, verifyMode, date, time, 1, regNo));
相关文章推荐
- Sql Server 2008完全卸载方法(其他版本类似)
- sqlserver2008安装教程
- MySql模糊查询like通配符使用详细介绍
- redis常见问题汇总
- 浅析Redis复制
- MongoDB的Master-Slave主从模式配置及主从复制要点解析
- 动态SQL语句
- SQL语句映射文件(2)增删改查、参数、缓存
- MySQL性能调优与架构设计-架构篇
- SQL语句映射文件(1)resultMap
- SQL Server查询优化
- oracle日期格式转换 to_date(),to_char()
- mysql 时区 , 夏令时,冬令时
- redis配置文件详解
- MySQL的索引结构
- MySql中varchar(10)和varchar(100)的区别==>>以及char的利弊
- SqlSession(SqlSessionTemplate类) 实现Mybatis
- why it would be horrible for Oracle to make that the "default".
- navicat of mysql导入数据时 USING BTREE 错误解决办法
- Redis常用命令