簡體   English   中英

將結果輸入表的存儲過程

[英]Stored procedure to enter Results into a table

我試圖創建一個存儲過程,從 C# 程序中獲取數據,然后將數據輸入到名為dbo.Results的表中,該表從dbo.People表中收集 UserID。

create Procedure InsertResults
    @ForName nvarchar(50),
    @Surname nvarchar(50)
    @RaceID int,
    @Place int,
    @Fleet nchar(10)
AS
Begin

Insert Into [dbo].[Results] values
    (IDENT_CURRENT(dbo.Results),@RaceID,(Select UserID From dbo.People Where (ForName = @ForName and Surname = @Surname)),@Place,@Fleet)
End

當我執行 SQL 查詢以創建它返回的過程時

消息 4104,級別 16,State 1,過程 InsertResults,第 11 行 [批起始行 0]
無法綁定多部分標識符“dbo.Results”。

  • IDENT_CURRENT()需要一個字符串,但 你不想這樣做

  • 您省略了IDENTITY列而不是嘗試查找它

  • 如果你想INSERT... SELECT你不使用VALUES

     INSERT dbo.Results(all,cols,except,identity) SELECT @RaceID,UserID,@Place,@Fleet FROM dbo.People WHERE ForName = @ForName AND Surname = @Surname;

(另外,讓我想知道當你有兩個不同的人John Smith時你期望發生什么。)

暫無
暫無

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

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