+ -
当前位置:首页 → 问答吧 → mysql的存储怎么写?帮我看看我这个写的哪里有问题?谢谢

mysql的存储怎么写?帮我看看我这个写的哪里有问题?谢谢

时间:2011-08-11

来源:互联网

DELIMITER $$;

DROP PROCEDURE IF EXISTS `ebill`.`SP_GETSEQNO`$$

CREATE DEFINER=`AUTEK`@`%` PROCEDURE `SP_GETSEQNO`(storSEQNAME VARCHAR(32),  
storWORKDATE VARCHAR(10),  
OUT storSEQNO INT )
BEGIN

DECLARE storCLTID INT;  
IF storWORKDATE='' THEN  
  SELECT storCLTID = CLTID,storSEQNO = SEQNO FROM CLT_SEQ WHERE SEQNAME=storSEQNAME;
ELSE  
  SELECT storCLTID = CLTID,storSEQNO = SEQNO FROM CLT_SEQ WHERE SEQNAME=storSEQNAME AND WORKDATE=storWORKDATE;
END IF; 
IF row_count() = 0 THEN
  INSERT INTO CLT_SEQ(SEQNAME,WORKDATE,SEQNO) VALUES(storSEQNAME,storWORKDATE,1);  
  SET storSEQNO = 1;
ELSE
  UPDATE CLT_SEQ SET SEQNO=storSEQNO+1 WHERE CLTID=storCLTID;
  SET storSEQNO = storSEQNO+1;
END IF;
END$$

DELIMITER ;$$

作者: gaochaohaha   发布时间: 2011-08-11

在线等 高手们帮我看看吧 万分感谢~~~!!!

作者: gaochaohaha   发布时间: 2011-08-11

DELIMITER $$

DROP PROCEDURE IF EXISTS `SP_GETSEQNO`$$

CREATE PROCEDURE `SP_GETSEQNO`(storSEQNAME VARCHAR(32), storWORKDATE VARCHAR(10),  
OUT storSEQNO INT )
BEGIN

DECLARE storCLTID INT;  
IF storWORKDATE='' THEN  
  SELECT storCLTID = CLTID,storSEQNO = SEQNO FROM CLT_SEQ WHERE SEQNAME=storSEQNAME;
ELSE  
  SELECT storCLTID = CLTID,storSEQNO = SEQNO FROM CLT_SEQ WHERE SEQNAME=storSEQNAME AND WORKDATE=storWORKDATE;
END IF;  
IF ROW_COUNT() = 0 THEN
  INSERT INTO CLT_SEQ(SEQNAME,WORKDATE,SEQNO) VALUES(storSEQNAME,storWORKDATE,1);  
  SET storSEQNO = 1;
ELSE
  UPDATE CLT_SEQ SET SEQNO=storSEQNO+1 WHERE CLTID=storCLTID;
  SET storSEQNO = storSEQNO+1;
END IF;
END$$

DELIMITER ;

作者: wwwwb   发布时间: 2011-08-11