您见过执行结果 这样的 事务吗 大家都来看看
create proc xxxx
as
DECLARE @ERRCODE INTEGER
SET @ERRCODE=10000
DECLARE @RETURN INTEGER /*返回结果的初始化*/
SET @RETURN=0
DECLARE @TRAN_POINT INT --控制事务嵌套
SET @TRAN_POINT=@@TRANCOUNT --保存事务点
IF @TRAN_POINT=0
BEGIN TRAN TRAN_LS_DJ
ELSE
SAVE TRAN TRAN_LS_DJ
/*生成一组最长9位的随机数字 */
DECLARE @ID FLOAT,@XLH CHAR(10)
SET @ID=RAND()
SELECT @XLH=CAST (@ID*1000000000 AS INT)
SELECT B.XULH,B.RIQI,LTRIM(RTRIM(B.XULH))+LTRIM(RTRIM(@XLH)) AS CJXLH,A.SDID
INTO #TMP_MX
FROM TABLE1 A ,TABLE2 B
WHERE A.XULH=B.XULH
INSERT INTO MX
(XULH,RIQI,CJXLH,SDID)
SELECT XULH,RIQI,CJXLH,SDID FROM #TMP_RETMXLS
SELECT B.XULH,B.RIQI,LTRIM(RTRIM(B.XULH))+LTRIM(RTRIM(@XLH)) AS CJXLH
INTO #TMP_HZ
FROM TABLE1 A ,TABLE2 B
WHERE A.XULH=B.XULH
INSERT INTO HZ
(XULH,RIQI,CJXLH)
SELECT XULH,RIQI,CJXLH FROM #TMP_HZ
IF @TRAN_POINT=0
COMMIT TRAN TRAN_LS_DJ
GOTO RETURN_LAB
ERR_LAB:
IF @RETURN<100 SET @RETURN=@ERRCODE +@RETURN
ROLLBACK TRAN TRAN_LS_DJ
RETURN_LAB: RETURN @RETURN
其中XULH 的值有可能会有重复的 并且这个过程每隔2秒钟执行一次 基本保证每次执行的时候 只有一笔数据
结果发现 在HZ表 和MX 表 两表中存在 XULH相等 而CJXLH不相等的情况 请问各位大侠 这是怎么回事啊
现在的情况是 我在做统计的时候 关联xulh cjxlh时有 上述情况 数据就会不显示 造成数据不准确