CREATE PROCEDURE UP_BBS
@TableName nvarchar(16),
@ID int output,
@PID int ,
@UserID int
AS
INSERT INTO @TableName ([PID],[UserID])VALUES(@PID,@UserID)
SET @ID = @@IDENTITY
GO运行时是在@TableName接收参数这里出的问题,请问哪里错了呢?应该怎么改啊?谢谢

解决方案 »

  1.   

    CREATE PROCEDURE UP_BBS
    @TableName nvarchar(16),
    @ID int output,
    @PID int ,
    @UserID int
    AS
    declare @sql nvarchar(1000)
    select @sql='INSERT INTO '+@TableName+' ([PID],[UserID])VALUES('+@PID+','+@UserID+')'
    execute(@sql)
    SET @ID = @@IDENTITY
    GO
      

  2.   

    ALTER PROCEDURE UP_BBS
    @TableName nvarchar(16),
    @ID int output,
    @PID int ,
    @UserID int
    AS
    exec
    ('INSERT INTO'+ @TableName+' ([PID],[UserID])VALUES('+@PID+','+@UserID+')
    SET'+ @ID+' ='+ @@IDENTITY)
    RETURN
    ------
    再看看行不行~