powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Конверсия...
7 сообщений из 7, страница 1 из 1
Конверсия...
    #32029190
Владимир
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет. В процессе столкнулся с интересной особенностью, если сделать проверку на наличие поля Over(является ключевым словом), то пишем в кавычках и без скобок
if exists(select * from [dbo].[syscolumns]
where id = (SELECT id FROM [dbo].[sysobjects] WHERE (name = 'MyTable')) and name='Over' and type_name(xusertype)<>'int')

Однако, изменить тип на целый ->
ALTER TABLE LineHistoryHockey ALTER COLUMN [Over]int NULL
Скобки - обязательны.....
...
Рейтинг: 0 / 0
Конверсия...
    #32029192
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OVER одно из многочисленных зарезервированных ключевых слов

Полный список здесь
BOL - Transact-SQL Reference - Reserved Keywords
...
Рейтинг: 0 / 0
Конверсия...
    #32029193
Владимир
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Насчет списка - я в курсе...просто смысл в том что проверяем имя поля 'Over', меняем его тип - пользуемся [Over]....
...
Рейтинг: 0 / 0
Конверсия...
    #32029197
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Имена полей должны удовлетворять правилам для Regular Identifiers.
В соответсвующей статье BOL - Accessing and Changing Relational Data - Transact-SQL Syntax Elements - Using Identifiers сказано

"When used in Transact-SQL statements, identifiers that fail to comply with these rules must be delimited by double quotation marks or brackets. "
...
Рейтинг: 0 / 0
Конверсия...
    #32029198
Владимир
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хочу подвести черту.....Чтобы писать автоматы генерирующие подобные конверсионные скритпы, нужно учитывать особенности ключевых слов...Вот что я хотел сказать...
...
Рейтинг: 0 / 0
Конверсия...
    #32029200
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Точно. Именно так "делает", например, генератор скриптов на изменения таблицы в EM. Просто заключает _все_ названия объектов в квадратные скобки без анализа того, соответствуют они правилам или нет.

ALTER TABLE [dbo].[LineHistoryHockey] ALTER COLUMN [Over] int NULL
...
Рейтинг: 0 / 0
Конверсия...
    #32029216
Владимир
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добавлю, что генератор еще порой такой скрипт выдает, что диву даешься...Зачем, если можно сделать что надо в несколько строчек...
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Конверсия...
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]