【发布时间】:2011-04-18 20:06:03
【问题描述】:
下午好,
我编写了一个非常基本的存储过程,用于将 QuestionText 和 QuestionStatus 插入 Questions 表中,并且 QuestionID int 主键设置为具有标识。
语法如下:
CREATE PROCEDURE InsertNewQuestion
-- Add the parameters for the stored procedure here
@QuestionText varchar(200), @QuestionStatus bit
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for procedure here
INSERT into Questions
(QuestionText,QuestionStatus)
Values
(@QuestionText),(@QuestionStatus)
END
GO
当我执行存储过程时,我收到以下错误:
INSERT 语句中的列数多于 VALUES 中指定的值 条款。 VALUES 子句中的值数必须与列数匹配 在 INSERT 语句中指定。
正确插入记录并允许 QuestionID 在每次插入时自动递增的正确语法是什么?
非常感谢您的帮助和指导。
更新的存储过程语法
【问题讨论】:
-
您的 Values 行仍在关闭每个参数的括号。它们都应该放在一个用逗号分隔的括号中。值(@QuestionText、@QuestionStatus)
标签: stored-procedures sql-server-2008-r2 identity-column