Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
SELECT * FROM [TAB@DB]
|
|||
|---|---|---|---|
|
#18+
Каким образом возможно передать в выражение FROM наименование таблицы, которое определялось бы параметром? Надо SET @DB='DB1' SELECT * FROM [TAB@DB] ВМЕСТО SELECT * FROM [TABDB1] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2002, 17:11 |
|
||
|
SELECT * FROM [TAB@DB]
|
|||
|---|---|---|---|
|
#18+
В лоб - никаким. В обход лба - с помощью динамического SQL: exec (@StringVar) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2002, 17:22 |
|
||
|
SELECT * FROM [TAB@DB]
|
|||
|---|---|---|---|
|
#18+
SET @TAB='TAB'+@DB EXEC('SELECT * INTO #TABDB FROM @TAB') ? Не спасает. Может что не так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2002, 17:50 |
|
||
|
SELECT * FROM [TAB@DB]
|
|||
|---|---|---|---|
|
#18+
set @SQL_String='SELECT * FROM TAB'+@DB exec(@SQL_String) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2002, 19:08 |
|
||
|
SELECT * FROM [TAB@DB]
|
|||
|---|---|---|---|
|
#18+
Ещё один вопрос Мне необходимо использовати select * into #tab Но сктипт срабатывает только если into не временная таблица. С чем это может быть свяэано и возможно ли делать в динамическом SQL into во временные таблицы в принципе? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2002, 06:05 |
|
||
|
SELECT * FROM [TAB@DB]
|
|||
|---|---|---|---|
|
#18+
> возможно ли делать в динамическом SQL into во временные таблицы в принципе? Все возможно... (если осторожно). Нужно только понимать (или - тупо знать?), что любая временная таблица существует и доступна в рамках отдельной сессии пользователя, а динамический SQL выполняется в другой сессии, отличной от сессии скрипта, или процедуры, из которой он вызывается... Т.о. для чтения из временной таблицы полученной через SELECT * INTO #TMP ... в динамическом SQL - нужно обращаться к ней в той же сессии (читай - строке выполнения, которая передается команде EXEC): типа так - EXEC('SELECT name INTO #TMP FROM sysobjects SELECT * FROM #TMP') - правда толку от этого маловато. Обычно в основной процедуре исполнения создают временную таблицу заранее, а потом уже вставляют в нее данные через динамический SQL: типа так - SELECT name INTO #TMP FROM sysobjects WHERE 1=0 EXEC('INSERT INTO #TMP SELECT name FROM sysobjects') SELECT * FROM #TMP ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2002, 06:53 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=32022798&tid=1823931]: |
0ms |
get settings: |
10ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
68ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
54ms |
get tp. blocked users: |
2ms |
| others: | 263ms |
| total: | 438ms |

| 0 / 0 |
