В проекте .NET мне нужно проверить, является ли строка допустимым идентификатором параметра Microsoft SQL Server 2005.
Пример: SELECT * FROM table WHERE column = @parameter
Есть ли метод класса времени выполнения для проверки правильности строки как параметра или регулярное выражение для проверки правил? (см. Ниже)
Из документации по идентификаторам параметры должны соответствовать следующим общим правилам идентификатора:
- Первый символ должен быть одним из следующих: * Буква, как определено
по стандарту Unicode 3.2.
Unicode определение букв включает в себя
Латинские буквы от a до z,
от А до Я, а также письмо
персонажи с других языков. *
Подчеркивание (_), знак (@) или
числовой знак (#).
Определенные символы
в начале идентификатора есть
особое значение в SQL Server.
обычный идентификатор, который начинается с
знак at всегда обозначает местный
переменная или параметр и не может быть
используется в качестве имени любого другого типа
объект. Идентификатор, который начинается с
числовой знак обозначает временный
стол или процедура. Идентификатор, который
начинается с двойных числовых знаков (##)
обозначает глобальный временный объект.
Хотя знак числа или двойной
символы знака числа могут быть использованы для
начать имена других типов
объекты, мы не рекомендуем это
практика. Некоторые функции Transact-SQL
есть имена, которые начинаются с двойного в
приметы (@@). Во избежание путаницы с
эти функции не стоит использовать
имена, начинающиеся с @@.
- Последующие символы могут включать следующее: * Буквы, как определено
в стандарте Unicode 3.2. *
Десятичные числа от Basic
Латинские или другие национальные шрифты. *
Знак at, знак доллара ($), число
знак или подчеркивание.
- Идентификатор не должен быть зарезервированным словом Transact-SQL. SQL Server
резервирует как прописные, так и
строчные версии зарезервированных слов.
- Встроенные пробелы или специальные символы недопустимы.
- Дополнительные символы не допускаются.
Когда идентификаторы используются в
Операторы Transact-SQL,
идентификаторы, которые не соответствуют
эти правила должны быть ограничены
двойные кавычки или скобки.
Поскольку я хочу проверять только параметры, идентификаторы должны начинаться со знака @ и не должны быть разделены.