Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2003.08.18;
Скачать: [xml.tar.bz2];

Вниз

Удаление из многих таблиц   Найти похожие ветки 

 
Bless   (2003-07-23 10:59) [0]

Нужно удалить из таблиц, у которых есть поле nzo все строки, в которых значение этого поля равно, к примеру 1.
Как это можно сделать, не меняя вручную содержимое системных таблиц?
"


 
Плохиш   (2003-07-23 11:14) [1]

1. В цикле для всех таблиц проверяешь наличие поля. Если есть выполняешь SQL

2. Причём тут системные таблицы?


 
Sergey13   (2003-07-23 11:15) [2]

А при чем тут системные таблицы? Как из одной таблицы удалить знаешь? Если да, то из всех таблиц по порядку и удаляй.


 
Bless   (2003-07-23 15:07) [3]

>При чем тут системные таблицы?

Дико извиняюсь. Забыл исправить предложение...

>В цикле для всех таблиц проверяешь наличие поля. Если есть
>выполняешь SQL

А как организовать цикл для всех таблиц?


 
XanderMan   (2003-07-23 15:11) [4]


for i := 0 to componentcount-1 do
if components[i] is TIBDataSet then begin
{здесь ищешь поле}
end


 
Плохиш   (2003-07-23 15:13) [5]

TADOConnection.GetTableNames


 
XanderMan   (2003-07-23 15:19) [6]

Опять же, при использовании IB и IBX, у TIBDatabase есть метод GetTableNames, который возвращает именно имена всех таблиц, оттуда можно взять и поля


 
Bless   (2003-07-24 09:24) [7]

Прошу прощения. Системные таблицы, конечно, не причем. Забыл исправить предложение.
>1. В цикле для всех таблиц проверяешь наличие поля. Если есть
>выполняешь SQL

А как организовать цикл?

>Как из одной таблицы удалить знаешь? Если да, то из всех таблиц
>по порядку и удаляй.

Удалять из каждой таблицы по очереди можно. Но не хотелось бы переписывать процедуру, если вдруг появятся новые таблицы (что не исключено), если, конечно, есть такая возможность. То есть нужно удалять из всех таблиц, имя которых находится в результате запроса
select object_name(id) from syscolumns where name="nzo"


 
Bless   (2003-07-24 09:38) [8]

Забыл добавить, что это желательно реализовать внутри хранимой процедуры MS SQL 7.0


 
Bless   (2003-07-24 10:46) [9]

То бишь, не мотодами делфийских компонент, а с помощью T-SQL


 
Andrey007   (2003-07-24 11:12) [10]

DELETE FROM table1 WHERE nzo = 1;
DELETE FROM table2 WHERE nzo = 1;
....
DELETE FROM tableN WHERE nzo = 1;



Страницы: 1 вся ветка

Форум: "Потрепаться";
Текущий архив: 2003.08.18;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.003 c
14-58396
paxer
2003-08-04 13:45
2003.08.18
Ресурсы для компонента


14-58461
supersan
2003-07-21 17:33
2003.08.18
Проблема с IBTable.Locate


14-58433
Всеволод Соловьёв
2003-08-03 00:02
2003.08.18
Младший возраст участников форума


14-58399
den777
2003-08-04 10:24
2003.08.18
Как выгрузить ненужные пакеты


14-58383
Miralex
2003-08-04 14:32
2003.08.18
как сохранить в файл тип Record





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский