declare @id INT declare @tbName NVARCHAR(50) declare @tbCol1 NVARCHAR(20) declare @tbCol2 NVARCHAR(20) SET @id = 10 SET @tbName = 'tb_zhaobiao' SET @tbCol1 = 'zid' SET @tbCol2 = 'hit' DECLARE @sqlText NVARCHAR(200) -- 此类型一定要是nvarchar()类型 DECLARE @hit int SET @sqlText = 'select @hit = hit from ' + @tbName + ' where ' + @tbCol1 + ' = ' + CAST(@id AS NVARCHAR(10)) EXEC SP_EXECUTESQL @sqlText,N'@hit int OUTPUT',@hit OUTPUT