编写程序不出现重复值怎么办

编写程序不出现重复值怎么办

问:oracle 存储过程中,不想让数据出现重复值该怎么办?
  1. 答:你的表没有主键的吗?
    如果你是一条记录多个列不想有重复的值,你可以把这几列建立唯一约束。
    如果你是一列记录不想有重复值,你可以把该列建立唯一约束。
    你用存储过程插入数据还要判断是否重复,面对频繁的插入你考虑到效率了没有,而且还非常容易出错。正常的方法都是通过约束达到去重。
    如果非要使用存储过程,
    使用
    if (select * from tablename where 你的列='你插入的变量') 判断是否有值
    then
    dbms_output.putline('该值已经存在') ;
    else
    insert into tablename 你的列 values ('你插入的变量');
    end if
  2. 答:插入数据之前先判断一下表里有没有相同数据了,没有就插入
  3. 答:用distinct 【select distinct username from tablename 】
    或者 聚合函数 分组 去重
    select a.area_code, sum(nvl(a.mms_mt_count,0)),count(a.phone_number)
    from table_name a group by a.area_code
  4. 答:SELECT DISTINCT FROM TABLENAME
问:c语言如何产生随机不重复的数,我不重复不知道怎么写。怎样不重复
  1. 答:#include<stdio.h>
    #include<stdlib.h>
    #include<time.h>
    main()
    {   int a[10],i,j,k;
        srand(time(NULL));
        for(i=0;i<10;i++){//采集10个随机数 
            a[i]=rand()%90+10;//随机数赋值 
            k=0;//重复个数清零 
            for(j=0;j<i;j++)//计算重复的个数 
               if(a[i]==a[j]) k++;
    if(k!=0) i--;//重复个数不为0,就是有重复的    
    }                //重新产生这个随机数 
    for(i=0;i<10;i++)
        printf("%4d",a[i]);
    }
    如图所示,rand产生不了不重复的随机数,所以方法就是把产生的重复的去掉。我这里举个例子,按照这个思路,插入到你的程序里就行了。
    望采纳。。。。。。
  2. 答:int count=0;      //已成功生成的随机数计数
    int n;
    int i;
    while(count<50)
    {
        int find=0;   //标识变量:如为1表示已有这个随机数
        n=rand()%90+10;  //获得随机数
        for(i=0;i<count;i++) //检索已有随机数数组中是否存在该数
        {
            if(a[i]==n)
            {
                find=1;  //如果存在该数,则改变标识变量为1
                break;
            }
        }
        if(find==0)      //如果find==0,表示已生成随机数数组中没有该值
        {
            a[count++]=n;  //该随机数存入数组中,并使count计数+1
        }
    }
问:如何控制你B/S结构程序不出现重复提交?
  1. 答:1、这个很常见的程序设计的问题。简单来说,就是控制form表单的重复提交。
    2、首先,前端按钮需要做一些判断,防止短时间内的重复点击。这个还是比较方便做的,最简单的就是点击过后直接 disabled,不给再点击就可以了。
    3、其次,每个表单需要生成一个特定的token,这样后台可以对于同一个用户的用同一个token请求,进行重复判断。
    4、每个表单都有特定的token值,提交过后,也有相应记录,这样前端也可以判断,token提交过后,这个表单都不会再出现了。
    5、希望对你有帮助。
编写程序不出现重复值怎么办
下载Doc文档

猜你喜欢