我的存储过程出错

时间:2015-06-25 08:07:49

标签: sql-server sql-server-2008-r2 dynamic-sql

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

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'表','代码'       ' ='附近的语法不正确。

1 个答案:

答案 0 :(得分:0)

试试这个:

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之前。以及最后的附加括号。