您好我正在尝试创建一个存储过程,但每次我尝试保存它时都会收到错误
Msg 102, Level 15, State 1, Procedure forum_Insert_Post, Line 3
Incorrect syntax near '@description'.
Msg 137, Level 15, State 2, Procedure forum_Insert_Post, Line 9
Must declare the scalar variable "@title"
这是我的代码:
CREATE PROCEDURE forum_Insert_Post
@title nvarchar
@description nvarchar
@subcategoryId int
@date dateTime
@usernameId uniqueidentifier
AS
INSERT INTO forum_posts (PostTitle , PostContent , PostDate , UserId , SubcategoryId)
VALUES (@title , @description , @date , @usernameId , @subcategoryId)
我在这里做错了什么?
答案 0 :(得分:4)
参数后面需要逗号:
CREATE PROCEDURE forum_Insert_Post
@title nvarchar,
@description nvarchar,
@subcategoryId int,
@date dateTime,
@usernameId uniqueidentifier
AS
INSERT INTO forum_posts (PostTitle , PostContent ,
PostDate , UserId , SubcategoryId)
VALUES (@title , @description , @date , @usernameId , @subcategoryId)
答案 1 :(得分:4)
只需添加一些逗号,并为nvarchar
提供合适的大小,否则会截断为1个char:)
CREATE PROCEDURE forum_Insert_Post
@title nvarchar(20),
@description nvarchar(20),
@subcategoryId int,
@date dateTime,
@usernameId uniqueidentifier
AS
INSERT INTO forum_posts (PostTitle , PostContent , PostDate , UserId , SubcategoryId)
VALUES (@title , @description , @date , @usernameId , @subcategoryId)
NVARCHAR
截断here