У меня есть запрос, который я хочу использовать для схем базы данных. Сейчас он написан так, что мне нужно заменить схему в нескольких местах запроса. Как установить это как переменную, чтобы все, что мне нужно сделать, это изменить ее в одном месте?Установить переменную как схему
0
A
ответ
0
Синонимы могут быть ответом на ваш вопрос.
1
Вы можете сделать это с помощью динамического SQL:
DECLARE @sql VARCHAR(MAX)
,@schema VARCHAR(255) = 'dbo'
SET @sql = 'SELECT *
FROM '[email protected]+'.yourTable
'
EXEC (@sql)
Вы могли бы использовать это в курсоре Переберите схемы-х:
DECLARE @Iterator varchar(255)
,@strSQL varchar(MAX)
DECLARE xyz CURSOR
FOR
--Select stuff to iterate over
SELECT name
FROM sys.schemas
OPEN xyz
FETCH NEXT FROM xyz
INTO @Iterator
WHILE @@FETCH_STATUS = 0
BEGIN
--Do stuff
SET @strSQL = 'SELECT *
FROM '[email protected]+'.yourTable
'
Exec (@strSQL)
FETCH NEXT FROM xyz
INTO @Iterator
END
CLOSE xyz
DEALLOCATE xyz
GO
Чтобы проверить свои динамические операторы SQL, вы можете изменить EXEC
к PRINT
и убедитесь, что результирующий запрос такой, как вы предполагали.
0
Вы можете использовать динамический SQL. Вот пример:
DECLARE @Column varchar(25)
DECLARE @sqlStmt varchar(max)
SET @Column = 'MyColumn'
SET @sqlStmt = N'SELECT ' + @Column + ' FROM MyTable'
EXEC (@sqlStmt)
+0
Ответ GoatCO намного лучше, чем мой . :) –
Смежные вопросы
- 1. Mongoskin: установить документ схему
- 2. Как установить схему по умолчанию в Yii2
- 3. Как установить схему @OneToMany автоматически генерируемых таблиц?
- 4. Как установить схему Location в xsd?
- 5. Как установить схему привязки WCF через код?
- 6. Как установить схему для трафарета DirectX 11
- 7. Как установить схему Petite Chez на Ubuntu?
- 8. Установить схему H2 при подключении
- 9. Как установить переменную PHP?
- 10. Как установить переменную Notepad ++?
- 11. Как установить локальную переменную
- 12. установить переменную как stringvar.get()
- 13. Как установить переменную среды?
- 14. Как установить переменную сеанса
- 15. Как установить переменную javascript в переменную php?
- 16. Как установить пользовательскую переменную-переменную в gmock
- 17. Как установить переменную constexpr в обычную переменную?
- 18. Как установить _path_ как переменную?
- 19. Eclipse: Как установить переменную {user}?
- 20. Как установить переменную в Install4j
- 21. Как установить переменную из шаблона
- 22. Как установить переменную окружения CGBITMAP_CONTEXT_LOG_ERRORS?
- 23. Как установить переменную среды ANDROID_HOME?
- 24. Как установить переменную в $ _GET
- 25. Как установить переменную из casper.evaluate()?
- 26. Как установить переменную окружения VAGRANT_DEFAULT_PROVIDER?
- 27. Как установить переменную окружения ANDROID_HOME?
- 28. Установить переменную, отображаемую как «неопределенная»?
- 29. Как использовать Libcore.os установить переменную
- 30. Как установить полную переменную константу?
Благодарим всех вас за помощь. Я получил довольно далеко от вашего вклада. Однако теперь у меня проблемы с заявлением на печать. – user3063176
набор @query = «установлен @B = (выберите отсчет (*) в качестве B из'[email protected]+'.Customer , где ПРЕОБРАЗОВАНИЯ (VARCHAR (10), CreationDate, 111) = (выберите MAX (CONVERT (VARCHAR (10), CreationDate, 111)) от'[email protected]+'.Customer) ) множество @A = (выберите MAX (CONVERT (VARCHAR (10), CreationDate, 111)) с символа «+ @ с + '. Клиент print' 'Последняя загрузка клиента для' + @ C + 'добавлена' + @ B + 'клиентов в таблицу «[email protected] +». Клиент и произошел в' + @ A – user3063176