Текущий архив: 2006.07.02;
Скачать: CL | DM;
Вниз
Изменение типа поля Найти похожие ветки
← →
VadimSpb (2006-05-04 11:01) [0]Изменяю типы некоторых полей запросом при открытии программы. Собственно, этого действия достаточно один раз. Как проверить тип поля и если надо изменить?
← →
Sergey13 © (2006-05-04 11:07) [1]2VadimSpb (04.05.06 11:01)
>Изменяю типы некоторых полей запросом при открытии программы.
Зачем?
← →
VadimSpb (2006-05-04 11:11) [2]Программа у пользователя. Он ничего не видит и не знает о БД и запросах.
Все обновления БД по загрузке.
← →
Sergey13 © (2006-05-04 11:18) [3]2[2] VadimSpb (04.05.06 11:11)
Почему нельзя выслать пользователю новый вариант программы вместе с патчем базы (отдельная программа)?
← →
Nikolay M. © (2006-05-04 11:24) [4]INFORMATION_SCHEMA.COLUMNS
?
← →
VadimSpb (2006-05-04 11:28) [5]
> Почему нельзя выслать пользователю новый вариант программы
> вместе с патчем базы (отдельная программа)?
По ряду причин это неудобно.
> INFORMATION_SCHEMA.COLUMNS
Как этим пользоваться?
← →
Nikolay M. © (2006-05-04 11:34) [6]
> > INFORMATION_SCHEMA.COLUMNS
>
> Как этим пользоваться?
SELECT * FROM master.INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = "syslogins"
← →
VadimSpb (2006-05-04 12:06) [7]Nikolay M. © (04.05.06 11:34) [6]
Спасибо, попробую.
Подскажите, что за ошибка вылезает при изменении некоторых полей:
"DF_Table_Pole_36B12243" is dependent on column "Pole"?
Поле ни с каким не связано.
← →
MsGuns © (2006-05-04 12:18) [8]>"DF_Table_Pole_36B12243"
Побывав бы !
← →
VadimSpb (2006-05-04 12:22) [9]
> Побывав бы !
Не понял.
Что эа ограничения в таблицах(в папке Constraints) появились и откуда?
← →
Desdechado © (2006-05-04 12:41) [10]наверно
PRIMARY KEY, UNIQUE, FOREIGN KEY, CHECK
а изменения делаются через ALTER TABLE
но все-таки отдельным патч-модулем, который может запускаться программой при старте для проверки-корректировки БД
← →
VadimSpb (2006-05-04 12:55) [11]
> наверно
> PRIMARY KEY, UNIQUE, FOREIGN KEY, CHECK
Нет, поля не имеют ограничений :-(((
Наверное что-то с Ацесса тянется - оттуда экспортировалось.
Как в поле очистить все ограничения запросом?
← →
Desdechado © (2006-05-04 13:01) [12]ALTER TABLE ... DROP CONSTRAINT
← →
Sergey13 © (2006-05-04 13:07) [13]2[5] VadimSpb (04.05.06 11:28)
> По ряду причин это неудобно.
Понимаю. Гораздо проще при каждом запуске лопатить системные таблицы и/или блокировать пользовательские. То-же метод.
← →
VadimSpb (2006-05-04 13:14) [14]
> ALTER TABLE ... DROP CONSTRAINT
А если надо снять ограничения только на конкретное поле и имени этого ограничения мы не знаем?
← →
Sergey13 © (2006-05-04 13:18) [15]2[14] VadimSpb (04.05.06 13:14)
> А если надо снять ограничения только на конкретное поле и имени этого ограничения мы не знаем?
Если имени его не знаете, то может и назначения тоже не знаете? Может и не делать этого совсем?
← →
Desdechado © (2006-05-04 13:19) [16]узнать по системным таблицам
а вообще, с таким подходом - я тебе не завидую
наэкспортировал хрен знает чего, теперь автопилотом из юзерской (а не служебной) программы типы меняешь, ограничения кусаешь, и все вслепую
бр...
← →
VadimSpb (2006-05-04 13:29) [17]В том то и дело. Часть юзеров сами наэкспортировали втупую. А БД показывать не хотят.
← →
Sergey13 © (2006-05-04 13:33) [18]2[17] VadimSpb (04.05.06 13:29)
Кошмар!
← →
VadimSpb (2006-05-04 13:40) [19]Я подозреваю, что имена ограничений для данного поля в разных БД м.б. различны. Отсюда вопрос: можно ли получить список имен ограничений для данного поля?
← →
Desdechado © (2006-05-04 13:42) [20]еще раз - по системным таблицам
имена и типы ограничений, а также на что именно
← →
Nikolay M. © (2006-05-04 15:04) [21]
> можно ли получить список имен ограничений для данного поля?
INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE
?
:)))
← →
VadimSpb (2006-05-04 16:37) [22]
> INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE
Спасибо, посмотрю.
Есть ли ссылка или эл. док., где сжато все это собрано?
БОЛ мне известен. Я имею ввиду компактный материал.
← →
Nikolay M. © (2006-05-04 18:24) [23]
> Я имею ввиду компактный материал.
Лучше БОЛ материала нет. Ничего лишнего в нем тоже нет.
← →
VadimSpb (2006-05-04 23:57) [24]
> INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE
Не катит. возвращает со всей таблицы только один первичный ключ. Он хороший и трогать его не надо. Мусор в виде других ограничений (папка CONSTRAINTS) не виден. :-((((
> но все-таки отдельным патч-модулем, который может запускаться
> программой при старте для проверки-корректировки БД
Разумно. Теперь уже придется так и делать - изменей со временем все больше.
← →
VadimSpb (2006-05-05 00:20) [25]Поймал гада.
Работает так:SELECT name FROM sysobjects WHERE id =(SELECT cdefault FROM syscolumns WHERE id = (SELECT id FROM sysobjects WHERE name = "Payments") AND name = "TYPE")
В результате имеем имя ограничения для данного поля (Type) для данной таблицы (Payments).
Предполагаю, что запрос д.б. проще через INFORMATION_SCHEMA ...
Страницы: 1 вся ветка
Текущий архив: 2006.07.02;
Скачать: CL | DM;
Память: 0.5 MB
Время: 0.009 c