1

こんにちは、ストアド プロシージャを作成しようとしていますが、保存しようとするたびにエラーが発生します

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)

ここで何が間違っていますか?

4

2 に答える 2

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)
于 2013-01-03T15:22:50.237 に答える
4

コンマをいくつか追加し、nvarchars に適切なサイズを指定してください。そうしないと、1 文字に切り捨てられます :)

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切り捨ての SQLFiddle はこちら

于 2013-01-03T15:23:37.990 に答える