我想從不同的表中選擇值並將其插入到臨時表中。SQL Server存儲過程創建臨時表和插入值
我需要臨時表中的標識字段。當我嘗試執行下面的代碼,它拋出一個錯誤:
*Msg 2714, Level 16, State 1, Procedure SelectCashDetails, Line 27
There is already an object named '#ivmy_cash_temp1' in the database.*
我試圖改變臨時表爲不同的名字,它拋出了同樣的錯誤,即使之後。
這是我的代碼:
ALTER PROCEDURE [dbo].[SelectCashDetails]
(
@trustcompanyid BigInt,
@trustaccountid BigInt,
@planid BigInt,
@fromdate varchar(20),
@todate varchar(20),
@movetype varchar(20),
@typedesc varchar(20)
)
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
CREATE TABLE #ivmy_cash_temp1
(tmovedate datetime,
tmovedesc varchar(20),
tmoneymovetype varchar(20),
tplanbal decimal(18,6),
tsourcetype BigInt,
tdestinationtype BigInt)
SELECT
IDENTITY(int) AS id,
CMM.movedate,
CDCP.paramdesc,
CMM.movementtypecd,
CMM.amountmoved,
CMM.planbalance,
cmm.sourceaccounttypeid,
cmm.destinationaccounttypeid
into #ivmy_cash_temp1
from
cash_moneymove CMM
inner join
CDC_PARAMETERS CDCP on CMM.movedescriptioncd=CDCP.paramcd
where
CMM.movedescriptioncd = @typedesc
and PARAMNAME = 'Cash AccountType Desc'
select * from #ivmy_cash_temp1
END
您在交易中多次調用它? – TomTom
您是否需要在使用後刪除臨時表格?即在存儲過程結束時? – booyaa
您不需要在過程結束時刪除臨時表。 –