SQL Server добавление переменной - PullRequest
0 голосов
/ 22 мая 2019

Как добавить переменную в SQL Server для замены %MV_AUG2019.json%, чтобы мне нужно было изменить ее только в одном месте для всех этих таблиц?

delete from [addresses] where [uniqueFilename] like '%MV_AUG2019.json%'
delete from [disabilities] where [uniqueFilename] like '%MV_AUG2019.json%'
delete from [MD] where [uniqueFilename] like '%MV_AUG2019.json%'
delete from [messages] where [uniqueFilename] like '%MV_AUG2019.json%'
delete from [MH] where [uniqueFilename] like '%MV_AUG2019.json%'
delete from [MV] where [uniqueFilename] like '%MV_AUG2019.json%'
delete from [permits] where [uniqueFilename] like '%MV_AUG2019.json%'
delete from [PP] where [uniqueFilename] like '%MV_AUG2019.json%'
delete from [registrationOwners] where [uniqueFilename] like '%MV_AUG2019.json%'
delete from [stops] where [uniqueFilename] like '%MV_AUG2019.json%'

Ответы [ 3 ]

3 голосов
/ 22 мая 2019

Бьюсь об заклад, вы просто после ->

DECLARE @FileName NVARCHAR(500) = 'MV_AUG2019.json'

delete from [addresses] where [uniqueFilename] like '%'+@FileName+'%'
2 голосов
/ 22 мая 2019

Вы должны объявить переменную следующим образом:

DECLARE @var NVARCHAR(1000) = 'name.json' -- provide file name here

delete from [addresses] where [uniqueFilename] like '%' + @var + '%'
1 голос
/ 22 мая 2019

вы можете генерировать таблицы в динамическом

DECLARE @FileName NVARCHAR(500) = 'MV_AUG2019.json'

SELECT 'DELETE FROM '+QUOTENAME(TABLE_NAME) +' WHERE '+ QUOTENAME(COLUMN_NAME)+ ' LIKE '+'''%'+ @FileName+'%'''
FROM  INFORMATION_SCHEMA.COLUMNS
WHERE COLUMN_NAME ='uniqueFilename' AND DATA_TYPE IN ('char','nvarchar','varchar')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...