|
[MSSQL/t-sql] Можно ли передать имя таблицы в виде параметра запроса
|
|||
---|---|---|---|
#18+
Добрый день, Пишу на golang, обращаюсь к MSSQL с ипользованием go-mssqldb, но как я понял, проблема не относится ни к языку программирования, ни к библиотеке, по крайней мере встречал похожие проблемы и на C# Использую именованные параметры запросов для того, чтобы бороться с SQL injection Но у меня есть проблема, заключающаяся в том, что имя таблицы задается в конфигурационном файле и, соответсвенно, его тоже нужно по-хорошему проверять на SQL injection. Пытаюсь сделать такой запрос: Код: sql 1.
Сообщение об ошибке: mssql: Must declare the table variable "@TABLE_NAME". На запрос вида: Код: sql 1.
ошибка: mssql: Invalid object name '@TABLE_NAME' Может у кого-нибудь был опыт или есть идеи как передавать имя таблицы в виде параметра? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2021, 21:18 |
|
[MSSQL/t-sql] Можно ли передать имя таблицы в виде параметра запроса
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2021, 21:52 |
|
[MSSQL/t-sql] Можно ли передать имя таблицы в виде параметра запроса
|
|||
---|---|---|---|
#18+
Akina Спасибо, работает. Привожу тут ответ для тех, кто будет искать после меня: Код: sql 1.
Правда, я призадумался: а ведь при таком запросе не будет никакой защиты от SQL injection... :-/ ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2021, 01:11 |
|
[MSSQL/t-sql] Можно ли передать имя таблицы в виде параметра запроса
|
|||
---|---|---|---|
#18+
Vadim S. Adamlyuk Использую именованные параметры запросов для того, чтобы бороться с SQL injection ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2021, 05:41 |
|
[MSSQL/t-sql] Можно ли передать имя таблицы в виде параметра запроса
|
|||
---|---|---|---|
#18+
Vadim S. Adamlyuk Akina Спасибо, работает. Привожу тут ответ для тех, кто будет искать после меня: Код: sql 1.
Правда, я призадумался: а ведь при таком запросе не будет никакой защиты от SQL injection... :-/ Вообще, задача изначально стоит криво. Не надо делать выбор какую таблицу читать. Если у тебя есть задача разделить некие похожие данные "по таблицам", то сделай одну общую таблицу для всех этих данных и добавь в нее поле которое и будет играть роль твоей нынешней @TABLE_NAME (ну и сделай его частью ПК). А дальше стандартными параметрическими запросами, не забывая указывать какую из виртуальных таблиц тебе сейчас надо использовать. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2021, 06:37 |
|
[MSSQL/t-sql] Можно ли передать имя таблицы в виде параметра запроса
|
|||
---|---|---|---|
#18+
Vadim S. Adamlyuk Правда, я призадумался: а ведь при таком запросе не будет никакой защиты от SQL injection... :-/ QUOTENAME Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2021, 06:55 |
|
[MSSQL/t-sql] Можно ли передать имя таблицы в виде параметра запроса
|
|||
---|---|---|---|
#18+
... а потом окажется, что "в файле конфигурации" имя таблицы записано строчными, а для идентификаторов в кавычках преобразование регистра не делается. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2021, 09:48 |
|
|
start [/forum/topic.php?fid=16&fpage=2&tid=1339645]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
30ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
2ms |
others: | 258ms |
total: | 383ms |
0 / 0 |