我的存储过程出错

Error in my stored procedure

我创建了一个存储过程如下:

create procedure [dbo].[ModifCodMedecin] @Table nvarchar(10),@Code nvarchar(7) as
DECLARE @rqt as NVARCHAR(4000)
SET @rqt = 'UPDATE' + @Table + 'SET '+  @Code + ' = Med.New_Code_exploitation from ' + @Table + 
'  inner join Medecin_New Med on ' + @Table + '.' + @Code + ' = Med.[Ancien_Code])'
exec (@rqt)

当我执行上述时,产生了一个错误:

ModifCodMedecin 'Table','code' Incorrect syntax near '='.

试试这个:

CREATE PROCEDURE [dbo].[ModifCodMedecin] @Table NVARCHAR(10)
    ,@Code NVARCHAR(7)
AS
DECLARE @rqt AS NVARCHAR(4000)

SET @rqt = 'UPDATE ' + @Table 
                     + ' SET ' + @Code 
                     + ' = Med.New_Code_exploitation from ' + @Table 
                     + '  inner join Medecin_New Med on ' + @Table + '.' + @Code 
                     + ' = Med.[Ancien_Code]'

EXEC (@rqt)

你少了几个空格,一个在 UPDATE 之后,一个在 SET 之前。以及末尾的附加括号。