Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Переменные в командах
|
|||
|---|---|---|---|
|
#18+
Можно ли как-то применять переменные вместо имени таблицы в командах Transact-SQL. Например так: declare @tablename nvarchar( set @tablename='rest'+str(year(getdate())) select * from @tablename ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2002, 14:52 |
|
||
|
Переменные в командах
|
|||
|---|---|---|---|
|
#18+
Такая постановка вопроса говорит о неверном проектировании Вашей базы данных. Если данные имеют одно и то же концептуальное значение, то они должны располагаться в одной таблице. Все разбиения данных в этой таблице должны производиться с помощью полей-селекторов. Если уж так припёрло, то создай один VIEW (UNION ALL) и делай выборки уже из него. Если выборка производится из батча, то sp_execsql. Если в stored procedure, то sp_execsql 'insert into #temptable select... ; select * from #temptable ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2002, 15:00 |
|
||
|
Переменные в командах
|
|||
|---|---|---|---|
|
#18+
declare @Script varchar(8000) set @Script='select * from '+@tablename exec(@Script) Это называется "динамический SQL". Его использование чревато дырами в защите. Если приведенный фрагмент является частью триггера или хранимой процедуры, то 'select * from '+@tablename выполняется вне контекста этой хранимой процедуры/триггера и совсем не с правами создавшего триггер/процедуру, а с правами того, кто эту процедуру ВЫПОЛНЯЕТ (то есть с правами пользователя). Получается, что вам нужно открывать непосредственный доступ ко всем таблицам, чтобы под учетной записью любого пользователя подобный скрипт мог выполниться без ругательств о недостаточных правах. Это в свою очередь предоставляет фактически всем пользователям возможность выполнить практически любой SQL-запрос, включая самые зловредные и разрушительные. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2002, 15:17 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=32020674&tid=1824335]: |
0ms |
get settings: |
9ms |
get forum list: |
22ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
72ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
| others: | 245ms |
| total: | 413ms |

| 0 / 0 |
