处理目的,当数据表中存在目标记录时,执行update;当数据表中不存在目标记录时,执行insert;从而减少一次查询数据库的过程
存储过程设计如下:
CREATE PROCEDURE `pro_SaveData`(IN `sinst` varchar(500),IN `supdt` varchar(500))
BEGIN
#直接更新记录
set @v_updsql=supdt;
prepare stmt from @v_updsql;
EXECUTE stmt;
#记录不存在,执行INSERT
IF ROW_COUNT() =0 THEN
set @v_intsql=sinst;
prepare stmt from @v_intsql;
EXECUTE stmt;
END IF;
deallocate prepare stmt;
END;C#调用如下:
采用C#.NET,多层架构开发,后台采用大型MS SQL SERVER 数据库和存储过程,速度、性能更胜一筹,网站分为企业和个人会员。企业会员可以发布职位信息,查询人才;个人会员可以发布简历,查询职位。 Build 1228更新: 企业会员可以对个人发送面试通知,个人会员可以收藏企业发布的招聘职位
int r = data.ExecuteNonQuery(System.Data.CommandType.StoredProcedure,
@"CALL pro_SaveData (' INSERT INTO `table` VALUES ('1', 'username')',
'UPDATE table SET name='table222' WHERE id='1';')", null);









