【发布时间】:2020-01-23 03:15:39
【问题描述】:
我不确定为什么这不起作用。如果成功保存,我将其设置为返回 1 的结果,但我一直得到 0。这是有效的,但我最近增加了查询的难度。现在它不工作了:
SQL 查询:
DECLARE
@Email AS NVARCHAR(500) = 'uokgames@gmail.com',
@Update AS NVARCHAR(MAX) = 'SET Tile_332 = 1,Tile_216 = 1,Tile_296 = 1,Tile_303 = 1,Tile_313 = 1,Tile_274 = 1,Tile_261 = 1,Tile_311 = 1,Tile_320 = 1,Tile_204 = 1,Tile_304 = 1,Tile_187 = 1,Tile_291 = 1',
@Board AS NVARCHAR(100) = 'Templo_Mayor',
@Difficulty AS INT = 0
--AS
BEGIN
DECLARE @sql AS NVARCHAR(MAX),
@Response AS BIT = 0
BEGIN TRY
SET @sql = 'UPDATE [dbo].[Game_Board] ' + @Update + ' WHERE [Email] =''' + @Email + ''' AND [Board_Name] = ''' + @Board + ''' AND [Difficulty] = ' + @Difficulty
EXECUTE sp_executesql @sql
SET @Response = 1;
END TRY
BEGIN CATCH
SET @Response = 0;
END CATCH
SELECT @Response
END
【问题讨论】: