我試圖在SQL Server 2008中創建一個存儲過程,根據解析器,語法是OK。然而,當我嘗試執行存儲過程,並通過實際值,以下錯誤出現:SQL服務器 - 存儲過程
消息201,級別16,狀態4,程序 SaveOneTimeDonation,行0
過程或函數「SaveOneTimeDonation」期望提供的參數'@donation'不是 。
自嘆不如,該數據實際上是插入到表中,所以我不知道爲什麼它會顯示這個錯誤。
我怎麼能解決這個問題嗎?以下是代碼:
SET ANSI_NULLS ON
SET QUOTED_IDENTIFIER ON
GO
ALTER PROC [dbo].[SaveOneTimeDonation]
@donation float,
@date nvarchar
AS
INSERT INTO OneTime_Trans(Donation, Trans_Date) VALUES (@donation, @date)
exec SaveOneTimeDonation
究竟如何你打SaveOneTimeDonation?另外爲什麼SaveOneTimeDonation自己調用? – UnhandledExcepSean 2012-02-28 13:23:43
注意:如果它是'@ date' - 爲什麼它被定義爲'nvarchar'數據類型?另外:通過不指定任何**長度**,你會得到一個'nvarchar(1)' - 1個字符長........ – 2012-02-28 14:38:18
如果它是一個日期 - 定義它是這樣的! '@date DATE' - 如果它是一個可變長度的字符串,** define **一個長度:'@date NVARCHAR(20)'或任何適合的 – 2012-02-28 14:39:06