я пытался сохранить динамический запрос внутри IF EXISTS условий в SQL Serverместо динамический запрос внутри IF EXISTS условия
create procedure temp_order
(
@tbl varchar (max)
)
as
begin
IF EXISTS ('SELECT * FROM ' + @tbl + ' where cd = 1')
end
, но это выглядит как динамический запрос не будет работать в «IF EXISTS» состояние, любые способы сделать условие, если таблицы существуют или нет?
Это не выполняет запрос. Это просто строка. Измените sql, чтобы выбрать Top (1) 1 из '+ @tbl +', где cd = 1 '. Выполните его и присвойте результат переменной. Затем проверьте значение. –
НЕ выполняйте непосредственно sql, если часть динамической строки указана из параметра. Это определение учебника для SQL-инъекции. –