excel 导入 access数据库 根据(身份z号码)唯一标识字段判断 有则更新,无则新增?

excel 导入 access数据库 根据(身份z号码)唯一标识字段判断 有则更新,无则新增?,第1张

您好,你的问题,我之前好像也遇到过,以下是我原来的解决思路和方法,希望能帮助到你,若有错误,还望见谅!那你就标识一列唯一字段。 比如excel里有一列是身份z,而身份z是唯一的一列不可能出现重复,那就每插一条数据就从数据库里读有没有这条记录,如果有就不插。 当然我这是程序写的。不是直接用excel往access里面导入的,非常感谢您的耐心观看,如有帮助请采纳,祝生活愉快!谢谢!

表结构就是你给的,我添了点数据

insert into a values (1,to_date('2014-03-01','yyyy-mm-dd'),1)

insert into a values (2,to_date('2014-03-03','yyyy-mm-dd'),1)

insert into a values (3,to_date('2014-03-04','yyyy-mm-dd'),1)

insert into a values (4,to_date('2014-03-05','yyyy-mm-dd'),1)

insert into a values (5,to_date('2014-03-06','yyyy-mm-dd'),1)

insert into a values (6,to_date('2014-03-07','yyyy-mm-dd'),1)

insert into a values (7,to_date('2014-03-08','yyyy-mm-dd'),1)

存储过程

create or replace procedure p_insert(v_userid     varchar2,

                                     v_begin_date varchar2,

                                     v_end_date   varchar2) as

  v_val   int

  v_count int

  cursor c_cur is

    select rownum - 1

      from dual

    connect by rownum <= (select to_date(v_end_date, 'yyyy-mm-dd') -

                                 to_date(v_begin_date, 'yyyy-mm-dd') + 1

                            from dual)

begin

  open c_cur

  loop

    fetch c_cur

      into v_val

    exit when c_cur%notfound

    select count(*)

      into v_count

      from A

     where val_date = to_date(v_begin_date, 'yyyy-mm-dd') + v_val

       and userid = v_userid

    if v_count = 0 then

      insert into A

      values

        (1, to_date(v_begin_date, 'yyyy-mm-dd') + v_val, v_userid)--这个地方我把ID写死了,我都写成1了,不过我想你那个实际的里应该有序列或触发器来着

      commit

    end if

  end loop

  close c_cur

end

执行

begin

  p_insert(1,'2014-03-01','2014-03-10')--日期必须以这种格式输入,不过你可以在存储过程里改成你想要的格式

end

结果自己检测吧,我这没问题

首先你得先连接数据库

然后发送查询语句select

好久没连数据库了,忘了数据库查询不到内容在Java中报什么错了,你可以试下,然后根据报错内容进行判断

如果没报错,那就能查到内容,发送update语句进行修改

如果报错,是因为没查到内容报错,那就发送alter语句进行新增


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10039765.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存