![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Добавление записей в таблицу IB [D6, IB6.x]
Ярослав © (2004-11-28 20:34:00)Заравствуйте, у меня такой вопрос:
как мне добавить сразу несколько записей в таблицу IB при помощи запроса из Delphi.
Пробовал так:
INSERT INTO Table1 (xxx, yyy)
VALUES ('aaa', 'aaa');
INSERT INTO Table1 (xxx, yyy)
VALUES ('bbb', 'bbb');
INSERT INTO Table1 (xxx, yyy)
VALUES ('ccc', 'ccc');
Delphi на ; ругается, как быть...
Deniz (2004-11-30 07:00:00) [1]> msguns © (29.11.04 14:54) [15]
>Но все же интересно зачем аппендицит вырезать через горло ?
Это не аппендицит через горло, а гланды через ж...
msguns (2004-11-29 14:54:00) [2]>Ярослав (28.11.04 21:54) [11]
А вот такой код
Create procedure Procedure1
as begin
INSERT INTO Table1 (xxx, yyy)
VALUES ('aaa', 'aaa');
INSERT INTO Table1 (xxx, yyy)
VALUES ('bbb', 'bbb');
INSERT INTO Table1 (xxx, yyy)
VALUES ('ccc', 'ccc');
end
съедает с удовольствием...
Так ведь этот "код" не корректит таблицу, а создает ХП. А вот уже ХП (которая выполняется другимзапросом, вставляет 3 записи. Правда, кому нужны такие записи и соответсвенно, такая ХП, жрецы, видимо, умалчивают..
Если надо добавить некскольно фиксированныхзаписей ы таблицу одним запросом (не знаю зачем, но если нада), создай временную (внешнюю) таблицу, добавь туда эти несколько записей, а затем однимзапросом INSERT INTO.. SELECT FROM.. добавь все записи в таблицу БД.
Но все же интересно зачем аппендицит вырезать через горло ?
midavik (2004-11-29 12:08:00) [3]Действительно не работает. Сорри. Забыл что UNION катит для запросов типа SELECT.
Sergey13 (2004-11-29 11:49:00) [4]2 Ярослав (28.11.04 20:34)
А чем IBScript не катит?
2[12] midavik © (29.11.04 11:39)
Ты сам это пробовал? Работает?
midavik (2004-11-29 11:39:00) [5]Вроде так:
INSERT INTO Table1 (xxx, yyy)
VALUES ('aaa', 'aaa')
UNION
INSERT INTO Table1 (xxx, yyy)
VALUES ('bbb', 'bbb')
UNION
INSERT INTO Table1 (xxx, yyy)
VALUES ('ccc', 'ccc')
Ярослав (2004-11-28 21:54:00) [6]А вот такой код
Create procedure Procedure1
as begin
INSERT INTO Table1 (xxx, yyy)
VALUES ('aaa', 'aaa');
INSERT INTO Table1 (xxx, yyy)
VALUES ('bbb', 'bbb');
INSERT INTO Table1 (xxx, yyy)
VALUES ('ccc', 'ccc');
end
съедает с удовольствием...
Ярослав (2004-11-28 21:45:00) [7]Вот интересно зачем писать интерпритатор когда вся проблемма состоит в ;
DrPass (2004-11-28 21:42:00) [8]Молодой человек, если вы не можете написать обычный интерпретатор, почему вы так уверены, что на это не способны разработчики IBExpert? Или по-вашему, это сервер Interbase одним широким движением выполняет все, что ему подсунули в скрипте?
Ярослав (2004-11-28 21:30:00) [9]Ага а если в скрипте уменя хранимая процедура за одно + триггер и все это перемежается вставками данных он тоже построчно это выполняет, оригинально...
DrPass (2004-11-28 21:27:00) [10]
> Именно тем, что я написал, есть там редактор скриптов, вставляешь
> в него этот запрос и он его выполняет.
Ну и что? Он читает построчно и выполняет по одному запросу
Ярослав (2004-11-28 21:22:00) [11]Именно тем, что я написал, есть там редактор скриптов, вставляешь в него этот запрос и он его выполняет.
YurikGL (2004-11-28 21:15:00) [12]
> Ярослав (28.11.04 21:04) [4]
И каким запросом?
Я к тому, что ты уверен, что IBExpert не посылает эти запросы отдельно друг от друга в одной транзакции?
Ярослав (2004-11-28 21:04:00) [13]И в IB ExperteВ и в IB Concole я так делал
YurikGL (2004-11-28 20:57:00) [14]
> Ярослав (28.11.04 20:47) [2]
Ты уверен, что IBExpert делате это за один раз?
Ярослав (2004-11-28 20:47:00) [15]До этого я сам додумался, но мне надо за 1 раз
в IB Concole и IB Expert это эе как то делается, а мне из Delphi надо.
DrPass (2004-11-28 20:38:00) [16]Выполни этот запрос три раза