Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как вставить в таблицу значение Id из справочников ? [D7, MySQL]


Страницы:   1 2

integery ©   (2005-07-19 14:18:00) 

Как вставлять в основную таблицу значениє id справочников , я так понимаю сначала нужно произвести поиск в вспровочнике вводимого значениє єсли ево там нет добавить і вернуть id а если есть то вернуть значение id и вставить в основную таблицу , подскажите как ето организовать через запрос.


integery   (2005-07-20 15:21:00) [1]

Ок всем оргомное СПАСИБО !!!


evvcom   (2005-07-20 14:30:00) [2]

тогда select из справочника, если вернулся пустой набор, то insert, если получения автоматически сгенеренного id (если такое вообще есть) нельзя, значит опять select из справочника, потом insert уже в целевую таблицу с известным id.


integery   (2005-07-20 14:16:00) [3]

я читал що "Хранимки-то на MySQL " тока в 5 будут


evvcom   (2005-07-20 13:29:00) [4]

Да, не заметил... Хранимки-то на MySQL есть? Только сейчас обратил внимание, что MySQL используется.


Lexer   (2005-07-20 13:24:00) [5]

evvcom, ответ на твой вопрос [20] в [4]


integery   (2005-07-20 13:23:00) [6]

дание берутса див. [4]


evvcom   (2005-07-20 13:17:00) [7]


> integery   (20.07.05 12:40) [21]

Ты не ответил на наводящий вопрос и хочешь получить вразумительный ответ?


Lexer   (2005-07-20 13:13:00) [8]

> [21] integery
достаёшь данные из БД, если не достается - то добавь


integery   (2005-07-20 12:40:00) [9]

'test' 5 yt не проблема !!!

маленькая проблемка как зделать проверку если нет записи например в polks то вставить і делать ето без try .... finally ??????


evvcom   (2005-07-20 08:27:00) [10]

Ты где собрался брать autors.name = 'test' и polks.pos = 5? Ведь не константы же у тебя здесь будут. Подумай над этим, и многое прояснится. Если нет, толкнем дальше.


integery   (2005-07-19 20:08:00) [11]

я так поняв на чистом sql ето уже не удастца зделать


Lexer   (2005-07-19 20:00:00) [12]

так же, как и для авторов
EXISTS(SELECT....)
Если нет записи, то INSERT.
Или, если уник. значения, то
try INSERT "полки и авторы" finally INSERT "КНИГИ" end


integery   (2005-07-19 19:55:00) [13]

ура !!
INSERT INTO books (id_avtor, book_name, id_polka) VALUES ((SELECT autors.id FROM autors WHERE autors.name = 'test'), :book_name, SELECT polks.id FROM polks WHERE polks.pos = 5);
работаєт!!

ИЩО маленькая проблемка как зделать проверку если нет записи например в polks то вставить ??????


Lexer   (2005-07-19 19:52:00) [14]

>так для id_polka нужно тоже зделать SELECT polks.id FROM polks WHERE polks.pos = 5

)))
ага, а что есть другие варианты?


integery   (2005-07-19 19:38:00) [15]

так для id_polka нужно тоже зделать SELECT polks.id FROM polks WHERE polks.pos = 5


Lexer   (2005-07-19 19:08:00) [16]

integery, что тут непонятного
1. Добавляешь/обновляешь авторов
2. Добавляешь книгу:
INSERT INTO books (id_avtor, book_name, id_polka) VALUES ((SELECT autors.id FROM autors WHERE autors.name = 'test'), :book_name, :id_polka);


integery   (2005-07-19 18:37:00) [17]

>зачем, если можно сразу в insert?

КАК ????????

примерчик в студию плиз !!!


integery   (2005-07-19 17:23:00) [18]

зачем, если можно сразу в insert?  как?????????

lexer посмотри [4]


Lexer   (2005-07-19 16:58:00) [19]

[7] integery
А смысл вставки в таблицу книг ID автора если он уже существует в таблице авторов?
Я так думаю, пользователь в приложении выбирает автора, т.е. ID известно уже при добавлении книги. Если такого автора нет, то пользователь добавляет его сначала в базу, и выбирает его, т.е. по-любому ID автора известно.
Зачем тянуть его второй раз?


evvcom   (2005-07-19 16:36:00) [20]


> а оставшиеся можжет через update

зачем, если можно сразу в insert?


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо