none
sp_executesql 問題請教 RRS feed

  • 問題

  • 您好:請問 使用sp_executesql 來做 INSeRT/UPDATE /DELETE 等

    當他用@P 時候,
    整個 SQL 語法,是否會把 @P的實際值,也帶入?

    比如:

    DECLARE @Col2 SMALLINT ,
        @Col1 INT
    SELECT  @Col2 = 3 ,
            @Col1 = 4
     
     
    DECLARE @SQL NVARCHAR(1000)
    SELECT  @SQL = 'select * from dbo.TestDynamicSQL
    where Col2 = @InnerCol2 and Col1 = @InnerCol1'
     
    DECLARE @ParmDefinition NVARCHAR(500)
    SET @ParmDefinition = N'@InnerCol2 smallint ,@InnerCol1 int'

     
    EXEC sp_executesql @SQL, @ParmDefinition, @InnerCol2 = @Col2,
        @InnerCol1 = @Col1
    GO

    最後能在LOG 查到
    select * from dbo.TestDynamicSQL
    where Col2 = 3 and Col1 = 4

    2020年9月25日 下午 01:08

解答