powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / if exists (Dynamic SQL)
4 сообщений из 4, страница 1 из 1
if exists (Dynamic SQL)
    #40022050
Двоичник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
формирую запрос

Код: sql
1.
2.
3.
declare @id int = 1
declare @sql varchar(2000)
set @sql = 'select id from MyTable where id = '+ @id



сейчас делаю так:

Код: sql
1.
2.
3.
4.
5.
6.
7.
 declare @tp table (id int, sql_text varchar(2000))

insert into @tp (id)
exec(@sql)

if @@ROWCOUNT > 0 
-- И ТОГДА ДЕЛАТЬ ДЕЙСТВИЕ ... 





Но можно ли как-то переиначить?
Код: sql
1.
2.
if exists (exec(@sql))
-- И ТОГДА ДЕЛАТЬ ДЕЙСТВИЕ ... 



Вроде и мой вариант работает, но как-то корявенько выглядит.
Спасибо
...
Рейтинг: 0 / 0
if exists (Dynamic SQL)
    #40022053
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Двоичник,

попробуй так

Код: sql
1.
2.
3.
4.
5.
6.
declare @exists int

exec sp_executesql N'if exists (select top 1 1 from Mytable where id=@i) select @out=1 else select @out=0',N'@i int, @out int output',@i=@id,@out=@exists 

if @exists =1 
...
...
Рейтинг: 0 / 0
if exists (Dynamic SQL)
    #40022054
iap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
К строке прибавляете целое число? И всё работает??
...
Рейтинг: 0 / 0
if exists (Dynamic SQL)
    #40022059
Двоичник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iap,

это абстрактивный пример от моего рабочего запроса. Считайте опечаткой. Я же не буду копипастить скрипт с рабочей БД. прошу понять и простить
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / if exists (Dynamic SQL)
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]