不知道是为什么,没什么地方出错吧,高手看看?
sql script:
/*取得酒店的本地时间*/
declare @hotelDate datetime
select @hotelDate=htl_dt-1 from cshis.thotel.dbo.htldt
/*----------------------------------------------处理hotelSum表---------------------------------------*/
/*核算本日房费 */
declare @v1 bigint,@v2 bigint
/*应收*/
SELECT @v1=SUM(a.trn_amt)
FROM cshis.thotel.dbo.transact as a INNER JOIN
cshis.thotel.dbo.account as b ON a.acct_num = b.acct_num
WHERE (a.trn_dt = @hotelDate) AND (a.trn_cd = '200' OR
a.trn_cd = '201' OR
a.trn_cd = '202' OR
a.trn_cd = '217') AND (b.rm_typ <> '**')
/*实收*/
SELECT @v2=SUM(trn_amt)
FROM cshis.thotel.dbo.transact
WHERE (trn_dt = @hotelDate) AND (acct_num IN
((SELECT acct.acct_num
FROM (SELECT acct_num
FROM cshis.thotel.dbo.transact
WHERE (trn_dt = @hotelDate) AND (rm_num <> '')) TRA INNER JOIN
cshis.thotel.dbo.account acct ON TRA.acct_num = acct.acct_num
WHERE (acct.acct_stus = '5') AND (acct.rm_typ <> '**')))) AND (trn_cd = '200' OR
trn_cd = '201' OR
trn_cd = '202' OR
trn_cd = '217') AND (folio_typ <> 'v')
/**/
insert hotelSum values(@hotelDate,'05',@v1,@v2,0)
/*加入到本地rmtrn表*/
insert into rmtrn(trn_dt,rt_cd,rm_typ,geo1,org_cd,gst_nums,rm_nums,rm_num,rt_amt)
(
SELECT b.trn_dt, a.rt_cd, rtrim(a.rm_typ), a.geo1, a.org_cd, SUM(a.gst_nums) AS gst_nums,
SUM(a.rm_nums) AS rm_nums, COUNT(*) AS Expr1, SUM(trn_amt) AS Expr2
FROM cshis.thotel.dbo.account a INNER JOIN
(SELECT trn_dt, acct_num, rm_num, SUM(trn_amt) AS trn_amt
FROM cshis.thotel.dbo.transact
WHERE (trn_dt = @hotelDate) AND (rm_num <> '') AND (trn_cd = '200' OR
trn_cd = '201' OR
trn_cd = '202' OR
trn_cd = '217')
GROUP BY trn_dt, acct_num, rm_num) b ON a.acct_num = b.acct_num
WHERE (a.rm_typ <> '**')
GROUP BY b.trn_dt,rtrim(a.rm_typ), a.rt_cd, a.org_cd, a.geo1)
----出错信息如下:----
ODBC: 消息 0,级别 18,状态 1
SQLDumpExceptionHandler: Process 46 generated access violation; SQL Server is terminating this process
[OLE/DB provider returned message: 在 TDS 流中的协议错误]