Есть ли способ динамического управления подсказкой таблицы без использования динамического запроса SQL
Например:
CREATE PROCEDURE [dbo].[procGetTable]
(
@SetUPDLOCK BIT,
@RecordId BigInt
)
AS
SELECT *
FROM MYTABLE WITH (CASE WHEN @SetUPDLOCK = 1 THEN 'UPDLOCK' ELSE '' END)
WHERE MYTABLE.RecordId = @RecordId
/ * PS Я знаю, что выше не работает, это только концептуально */
1 ответ
Решение
CREATE PROCEDURE [dbo].[procGetTable]
@SetUPDLOCK BIT,
@RecordId BigInt
AS
BEGIN
SET NOCOUNT ON;
IF (@SetUPDLOCK = 1 )
BEGIN
SELECT *
FROM MYTABLE WITH (UPDLOCK)
WHERE MYTABLE.RecordId = @RecordId
END
ELSE
BEGIN
SELECT *
FROM MYTABLE
WHERE MYTABLE.RecordId = @RecordId
END
END