簡體   English   中英

在存儲過程中插入用戶定義的數據表

[英]Insert User Defined Data Table in a stored procedure

下面是我到目前為止保存的過程,執行時始終收到此錯誤:消息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

如果StartEndDateType是用戶定義的表類型,則將其視為表。

更改此:

INSERT INTO db_recession_band_dates VALUES (@id,@dates)

變成像

INSERT INTO db_recession_band_dates (<COLUMN LIST>) -- don't do blind inserts it will hurt you at some point in the future
SELECT @id, <COLUMN LIST>
FROM @dates

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM