2009-04-15 3 views
12

Мне нужно знать, какие допустимые символы использовать в имени параметра SQL.SQL Server - Недопустимые символы в именах параметров

Учитывая что-то простое, например SELECT * FROM tblTest WHERE testid = @[X], если X содержит дефис, например, утверждение не сработает. Каковы допустимые символы для имен параметров?

ответ

22

Поиск «Идентификаторы» в вашем SQL книг в Интернете, и вы должны найти:

Правила для обычных идентификаторов

Правила для формата регулярных идентификаторов зависят от базы данных . Этот уровень можно установить с помощью sp_dbcmptlevel. Когда уровень совместимости 90, применяются следующие правила:

Первый символ должен быть один из следующих:

  • письмо, как определено в стандарте Unicode 3.2. Unicode-определение букв включает латинские символы от a до z,
    от A до Z, а также буквенные символы с других языков.
  • Подчеркивание (_), знак (@) или знак числа (#).

Определенные символы в начале идентификатора имеют специальное значение , что и в SQL Server. Обычный идентификатор, начинающийся с знака , всегда обозначает локальную переменную или параметр и не может использоваться как имя любого другого типа объекта. Идентификатор, начинающийся с обозначением номера, обозначает временную таблицу или процедуру. Идентификатор , начинающийся с двухзначных знаков (##), обозначает глобальный временный объект. Хотя знак числа или знак двойного номера могут использоваться для начала имен других типов объектов, , мы не рекомендуем эту практику.

Некоторые функции Transact-SQL имеют имена, начинающиеся с double при знаках (@@). Чтобы избежать путаницы с этими функциями, вы не должны использовать имена , которые начинаются с @@.

Последующие символы могут включать в себя следующее:

  • письма, как это определено в стандарте Unicode 3.2.
  • Десятичные числа из базовых латинских или других национальных сценариев.
  • Знак на знаке, знак доллара ($), знак числа или знак подчеркивания.

Идентификатор не должен быть зарезервированным словом Transact-SQL. SQL Server хранит как зарезервированные слова в верхнем и нижнем регистре. Встраиваемые пространства или специальные символы запрещены. Дополнительные символы не допускаются.

Поиск «разделители идентификаторов» в вашем SQL книгах в Интернете, и вы должны найти:

Тела идентификатора может содержать любую комбинацию символов в текущей кодовой странице , за исключением Обозначение символов. Для примера идентификаторы с разделителями содержат пробелы, любые символы действительны для обычных идентификаторов и любые следующих символов.

tilde (~)    hyphen (-) 
exclamation point (!) left brace ({) 
percent (%)    right brace (}) 
caret (^)    apostrophe (') 
ampersand (&)   period (.) 
left parenthesis (()  backslash (\) 
right parenthesis()) accent grave (`) 

Марк

+0

Хорошей работы люди, спасибо. – Stimul8d

1

Поиск книг в Интернете для идентификаторов [SQL Server]. У этого есть правила, которым должны следовать имена параметров. (Это был SQL Server поиска 2008), другие версии должны быть похожи поиск

 Смежные вопросы

  • Нет связанных вопросов^_^