【发布时间】:2013-06-13 20:25:08
【问题描述】:
以下是我到目前为止的存储过程,执行时我不断收到此错误: 消息 137,级别 16,状态 1,过程 db_recession_band_dates_save,第 18 行 必须声明标量变量“@dates”。
ALTER PROCEDURE [dbo].[Dates_Save]
@Loc VARCHAR(75),
@dates StartEndDateType READONLY
AS
BEGIN
DECLARE @id int
SELECT @id = MYINTFIELD FROM date_locations
IF @id IS NULL
BEGIN
INSERT INTO db_recession_bands VALUES (@loc)
SET @id = @@IDENTITY
END
INSERT INTO db_recession_band_dates VALUES (@id,@dates)
END
【问题讨论】:
-
@dates 的典型值是多少? (例如,如果你调试你的 sp)
-
@dates 来自 DataTable 类型,其中一列是开始日期,另一列是结束日期。
-
你试过调试这个sp吗?
-
正如我所说的那样——你把@dates 当作一张桌子来对待。目前您将其视为标量值(正如错误消息所述)
标签: sql-server tsql stored-procedures