create proc xxxx
as
DECLARE @ERRCODE INTEGER
SET @ERRCODE=10000
DECLARE @RETURN INTEGER /*返回结果的初始化*/
SET @RETURN=0DECLARE @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.XULHINSERT INTO MX
(XULH,RIQI,CJXLH,SDID)
SELECT XULH,RIQI,CJXLH,SDID FROM #TMP_RETMXLSSELECT 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.XULHINSERT INTO HZ
(XULH,RIQI,CJXLH)
SELECT XULH,RIQI,CJXLH FROM #TMP_HZIF @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时有 上述情况 数据就会不显示 造成数据不准确
as
DECLARE @ERRCODE INTEGER
SET @ERRCODE=10000
DECLARE @RETURN INTEGER /*返回结果的初始化*/
SET @RETURN=0DECLARE @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.XULHINSERT INTO MX
(XULH,RIQI,CJXLH,SDID)
SELECT XULH,RIQI,CJXLH,SDID FROM #TMP_RETMXLSSELECT 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.XULHINSERT INTO HZ
(XULH,RIQI,CJXLH)
SELECT XULH,RIQI,CJXLH FROM #TMP_HZIF @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时有 上述情况 数据就会不显示 造成数据不准确
就是说 在同一个事务中 我定义了 declare @cjxlh char(10) 并给@cjxlh 定义了值
我执行的两组 INSERT 语句 insert table1 (cjxlh) select @cjxlh
insert table2 (cjxlh) select @cjxlh
所插入table1 和table2表中的cjxlh值不一样啊
应该是一样的啊? 大家能帮忙解答一下啊
(XULH,RIQI,CJXLH,SDID)
SELECT XULH,RIQI,CJXLH,SDID FROM #TMP_RETMXLS
这块的#TMP_RETMXLS ?写错了?
3楼:2表此字段的类型和长度都是一样的
4楼:不是以前的老数据,都是新数据
5楼:
INSERT INTO MX
(XULH,RIQI,CJXLH,SDID)
SELECT XULH,RIQI,CJXLH,SDID FROM #TMP_MX 是这样的 我写帖子的时候 写错了
请各位老大 指点