Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Конверсия... / 7 сообщений из 7, страница 1 из 1
29.04.2002, 14:53
    #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
29.04.2002, 14:57
    #32029192
Glory
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Конверсия...
OVER одно из многочисленных зарезервированных ключевых слов

Полный список здесь
BOL - Transact-SQL Reference - Reserved Keywords
...
Рейтинг: 0 / 0
29.04.2002, 15:00
    #32029193
Владимир
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Конверсия...
Насчет списка - я в курсе...просто смысл в том что проверяем имя поля 'Over', меняем его тип - пользуемся [Over]....
...
Рейтинг: 0 / 0
29.04.2002, 15:18
    #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
29.04.2002, 15:27
    #32029198
Владимир
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Конверсия...
Хочу подвести черту.....Чтобы писать автоматы генерирующие подобные конверсионные скритпы, нужно учитывать особенности ключевых слов...Вот что я хотел сказать...
...
Рейтинг: 0 / 0
29.04.2002, 15:36
    #32029200
Glory
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Конверсия...
Точно. Именно так "делает", например, генератор скриптов на изменения таблицы в EM. Просто заключает _все_ названия объектов в квадратные скобки без анализа того, соответствуют они правилам или нет.

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


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