HI
I have create a stored procedure that creates temporary tables and populates data accordinarly.
The problem is when I run this from my machine all works fine
When a user runs this from their machine they get the below error:
System.Data.SqlClient.SqlE
xception: Invalid object name tmpOverviewCapittal
It does however create the temp tables in SQL with the persons name that ran the fuction
It drops that table and creates it again
What is the problem here???
CREATE PROC sp_getOverviewCapital
@nIDFund integer,
@dFromDate datetime,
@dToDate datetime
AS
SET NOCOUNT ON
DROP TABLE tmpOverviewCapital
CREATE TABLE tmpOverviewCapital
(
Description char(50) NOT NULL,
Header char(1),
FromDate datetime,
ToDate datetime,
Amount float,
AmountTotal float,
AmountEnd float,
AmountTotalEnd float,
iRow int IDENTITY (1, 1) NOT NULL)
DECLARE @Description char(50),
@Header char(1),
@FromDate datetime,
@ToDate datetime,
@Amount float,
@AmountTotal float,
@AmountEnd float,
@AmountTotalEnd float,
@iRow integer
INSERT INTO tmpOverviewCapital (Description,FromDate,ToDa
te,Header)
select distinct description,@dFromDate, @dToDate,'Y' from tblOverviewCapital where AmountSubTotal <> 0
and IDFund = @nIDFund
INSERT INTO tmpOverviewCapital (Description,FromDate,ToDa
te,Header)
select distinct ltrim(rtrim(description)),
@dFromDate
,@dToDate,
'N' from tblOverviewCapital where AmountSubTotal = 0
and IDFund = @nIDFund
DECLARE UpdateCapital CURSOR
FOR Select * from tmpOverviewCapital
FOR Update of Amount,AmountTotal, AmountEnd, AmountTotalEnd
Open UpdateCapital
FETCH NEXT FROM UpdateCapital INTO
@Description,
@Header,
@FromDate,
@ToDate,
@Amount,
@AmountTotal,
@AmountEnd,
@AmountTotalEnd,
@iRow
WHILE @@Fetch_Status=0
BEGIN
print @Description
print @FromDate
if @Header = 'Y'
begin
exec sg_getOverviewAmount @nIDFund, @Description, 1,'tblOverviewCapital', @FromDate,@Amount OUTPUT
print cast(@Amount as char) + ' Amount Header'
UPDATE tmpOverviewCapital
SET AmountTotal=@Amount,Amount
= 0
WHERE CURRENT OF UpdateCapital
exec sg_getOverviewAmount @nIDFund, @Description, 1,'tblOverviewCapital', @ToDate,@Amount OUTPUT
print cast(@Amount as char) + ' Amount Header'
UPDATE tmpOverviewCapital
SET AmountTotalEnd=@Amount,Amo
untEnd = 0
WHERE CURRENT OF UpdateCapital
end
if @Header = 'N'
begin
exec sg_getOverviewAmount @nIDFund, @Description, 0,'tblOverviewCapital', @FromDate,@Amount OUTPUT
print cast(@Amount as char) + ' Amount'
UPDATE tmpOverviewCapital
SET Amount=@Amount,AmountTotal
=0
WHERE CURRENT OF UpdateCapital
exec sg_getOverviewAmount @nIDFund, @Description, 0,'tblOverviewCapital', @ToDate,@Amount OUTPUT
print cast(@Amount as char) + ' Amount'
UPDATE tmpOverviewCapital
SET AmountEnd =@Amount, AmountTotalEnd=0
WHERE CURRENT OF UpdateCapital
end
FETCH NEXT FROM UpdateCapital INTO
@Description,
@Header,
@FromDate,
@ToDate,
@Amount,
@AmountTotal,
@AmountEnd,
@AmountTotalEnd,
@iRow
END
CLOSE UpdateCapital
DEALLOCATE UpdateCapital
GO
Start Free Trial