Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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.52 MB
Время: 0.046 c
1-1148282805
Steplerr
2006-05-22 11:26
2006.07.02
Выдирание иконок из защищённых файлов


4-1143526312
Nike
2006-03-28 10:11
2006.07.02
Получить список всех контролов на чужой форме


2-1150399200
Zloi-avgust
2006-06-15 23:20
2006.07.02
скачать файл по HTTP зная PI (при условии что нет домена)


1-1148481266
harddrive_tester
2006-05-24 18:34
2006.07.02
Тестирование жёсткого диска


15-1147255423
Колдун
2006-05-10 14:03
2006.07.02
Написание многопотчной качалки