У меня есть база данных с названием «Союз». Я пытаюсь выполнить SQL для этой базы данных в таблице MAINT, но поскольку «union» - это команда SQL, она бросает ошибки. Я могу получить запрос для запуска при выполнении из базы данных Union. Будет ли динамический SQL иметь возможность исправить мою проблему или изменить имя базы данных?Имя команды SQL - это имя базы данных; Использовать динамический SQL?
я получаю неправильный синтаксис около «UNION» ключевое слово здесь то, что я до сих пор,
DECLARE @sql varchar(max)
DECLARE @Database varchar(5)
Set @Database = 'UNION'
SELECT @sql = 'SELECT '[email protected]+' as ''Database'', '[email protected]+'.hsi.useraccount.username as ''User Name'',
'[email protected]+'.hsi.useraccount.realname as ''Real Name''
FROM '[email protected]+'.hsi.useraccount
WHERE '[email protected]+'.hsi.useraccount.username NOT LIKE ''%deactivated%'' and '[email protected]+'.hsi.useraccount.username not like ''%administrator'' and '[email protected]+'.hsi.useraccount.username not like ''%internal%'''
execute(@sql)
Используйте квадратные скобки вокруг имени ('[Союз]') – Siyual
@Siyual: Мог бы также сделать этот комментарий ответ и получить правильный кредит для этого. –