您的位置:首页 > 其它

在原有表中,A列若有数据,则随机返回B列,若无,随机修改A列数据为搜索值,并返回相对相对应的随机值

2015-11-30 01:43 459 查看
在原有表中,A列若有数据,则随机返回B列,若无,随机修改A列数据为搜索值,并返回相对相对应的随机值

CREATE OR REPLACE PROCEDURE P_GETSERIAL_NOBY_DEVICE ( MYDEVICE IN VARCHAR2 , mySERIAL_NO OUT VARCHAR2 )   

IS

    point_old     INT;

    point_updated INT;

    yhjerror      EXCEPTION;

    tempint       INT;

    tempa         INT;

    myresult      INT;

    MYSTATUS VARCHAR(5);

BEGIN

    myresult:=0;

    MYSTATUS:='';

SELECT COUNT(*) INTO myresult   FROM YHJ_CONPON_NOT_VIP YCNV WHERE YCNV.DEVICEID =MYDEVICE;          

            

           

    IF (myresult=1) THEN

        BEGIN

            select SERIAL_NO INTO mySERIAL_NO  FROM YHJ_CONPON_NOT_VIP YCNV WHERE YCNV.DEVICEID =MYDEVICE;

        end;

    ELSE

    BEGIN

             select SERIAL_NO INTO mySERIAL_NO from (select * from YHJ_CONPON_NOT_VIP WHERE DEVICEID IS NULL order by dbms_random.value) where rownum=1;

             

             UPDATE YHJ_CONPON_NOT_VIP SET DEVICEID=MYDEVICE WHERE SERIAL_NO =mySERIAL_NO;

        END;

      END IF;

    

END P_GETSERIAL_NOBY_DEVICE;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: