Использование имен таблиц в качестве параметров в t-sql (например, из @tblname) - PullRequest
4 голосов
/ 21 февраля 2010

Можно ли использовать имя таблицы в качестве параметра в t-sql?

Я хочу вставить данные в таблицу, но мне нужен один метод в C #, у которого есть параметр для таблицы.

Это хороший подход? Я думаю, что если у меня есть одна форма, и я выбираю таблицу и поля для вставки данных, я, по сути, хочу написать свой собственный динамический SQL-запрос, построенный на лету. Это еще одна вещь, которая, я уверен, имеет свои уловки?

Спасибо

1 Ответ

2 голосов
/ 21 февраля 2010

Не напрямую. Единственный способ сделать это - через динамический SQL - либо EXEC, либо sp_ExecuteSQL. Последний имеет преимущество кэширования / повторного использования запроса и позволяет избежать внедрения через параметры для значений , но у вас будет иметь для объединения самого имени таблицы в запрос (вы не может параметризовать его), поэтому убедитесь, что занесены в белый список со списком известных имен таблиц.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...