Форум: "Базы";
Текущий архив: 2007.04.15;
Скачать: [xml.tar.bz2];
ВнизМножество комманд в одном запросе Найти похожие ветки
← →
Patrick (2007-01-22 15:33) [0]Мне надо, чтобы работало несколько комманд в одном запросе, допустим, несколько комманд insert, в тексте скрипта они разделены точкой с запятой, а тут она это дело не понимает, так правильно отделить одну команду от другой, заранее благодарен.
← →
zdm © (2007-01-22 15:38) [1]после каждого
insert
ExecSql
insert
ExecSql
Commit
← →
zdm © (2007-01-22 15:41) [2]А БД какая?
← →
Patrick (2007-01-22 15:43) [3]ORACLE
← →
Sergey13 © (2007-01-22 15:45) [4]> [0] Patrick (22.01.07 15:33)
Иногда перед командами надо написать begin, а после end. Есть и сециальные скриптовые компоненты. Смотря что за БД/компоненты.
← →
zdm © (2007-01-22 15:52) [5]Можно пойти проще, написать ХП и закидать её параметрами.
Кстати если много обращений то даже лучше использовать ХП, пусть сервак, а не сеть напрягается да и параметрами передовать лучше, по скольку на одном языке будете разговаривать.
← →
Patrick (2007-01-22 15:59) [6]Компонент ADO ExecSQL что-то не понимает, тогда видимо begin...end, а ХП в моем случае несовсем подходит
← →
zdm © (2007-01-22 16:10) [7]Что значит не понимает?!?!
← →
zdm © (2007-01-22 16:10) [8]Ты про commit не забыл?
← →
zdm © (2007-01-22 16:13) [9]begin...end это по любому правильней. Просто интересно стало с каких пор ADO не понимает ExecSql?
← →
Patrick (2007-01-22 16:16) [10]про коммит не забыл, оно сообщает об ошибке, что неверное завершение sql-предложения сразу после первого оператора, а делфи указывает на то что встретился неверный символ "INSERT" причем второй от начала, и она пытается заменить его на какие-то другие символы, типа <*и т.д.
← →
zdm © (2007-01-22 16:19) [11]после каждого execSql. Sql.Clear
← →
zdm © (2007-01-22 16:20) [12]еще совет. sql.SavetoFile("c:\...") и смотри что получается. Кидай в pl/sql developer или чем ты там пользуешся и анализируй там
← →
Sergey13 © (2007-01-22 16:20) [13]> [10] Patrick (22.01.07 16:16)
Ты бы привел конкретный текст.
← →
Patrick (2007-01-22 16:21) [14]да не у меня компонент один, а в нем несколько инсертов (пакетно).
← →
zdm © (2007-01-22 16:31) [15]sql.clear
sql.add
execsql
sql.clear
....
commit
Все должно работать.
← →
zdm © (2007-01-22 16:32) [16]А в обще действительно, приведи текст.
← →
Patrick (2007-01-22 16:35) [17]begin
DELETE from smcardassort where idassort between 429 and 454
insert into smcardassort
select 429 as idassort, smc.article
from smcard smc, svaartclassif sv
where sv.article = smc.article
and (sv.Tree Like "1.5.%")
insert into smcardassort
select 439 as idassort, smc.article
from smcard smc, svaartclassif sv
where sv.article = smc.article
and (sv.Tree Like "1.4.%")
insert into smcardassort
select 447 as idassort, smc.article
from smcard smc, svaartclassif sv
where sv.article = smc.article
and (sv.Tree Like "1.3.%")
insert into smcardassort
select 440 as idassort, smc.article
from smcard smc, svaartclassif sv
where sv.article = smc.article
and ((sv.Tree Like "1.2.%") or (sv.Tree Like "1.6.%") or (sv.Tree Like "1.8.%") or (sv.Tree Like "1.11.%") or (sv.Tree Like "1.12.%"))
and smc.country = "РОССИЯ"
insert into smcardassort
select 448 as idassort, smc.article
from smcard smc, svaartclassif sv
where sv.article = smc.article
and ((sv.Tree Like "1.2.%") or (sv.Tree Like "1.6.%") or (sv.Tree Like "1.8.%") or (sv.Tree Like "1.11.%") or (sv.Tree Like "1.12.%"))
and smc.country <> "РОССИЯ"
insert into smcardassort
select 441 as idassort, smc.article
from smcard smc, svaartclassif sv
where sv.article = smc.article
and (sv.Tree Like "1.1.30.%")
insert into smcardassort
select 449 as idassort, smc.article
from smcard smc, svaartclassif sv
where sv.article = smc.article
and (sv.Tree Like "1.1.%")
and not (sv.Tree Like "1.1.30.%")
insert into smcardassort
select 441 as idassort, smc.article
from smcard smc, svaartclassif sv
where sv.article = smc.article
and (sv.Tree Like "1.17.%")
and smc.country = "РОССИЯ"
insert into smcardassort
select 449 as idassort, smc.article
from smcard smc, svaartclassif sv
where sv.article = smc.article
and (sv.Tree Like "1.17.%")
and smc.country <> "РОССИЯ"
insert into smcardassort
select 442 as idassort, smc.article
from smcard smc, svaartclassif sv
where sv.article = smc.article
and (sv.Tree Like "1.9.%")
and smc.country = "РОССИЯ"
insert into smcardassort
select 450 as idassort, smc.article
from smcard smc, svaartclassif sv
where sv.article = smc.article
and (sv.Tree Like "1.9.%")
and smc.country <> "РОССИЯ"
insert into smcardassort
select 443 as idassort, smc.article
from smcard smc, svaartclassif sv
where sv.article = smc.article
and (sv.Tree Like "1.7.6.%")
insert into smcardassort
select 451 as idassort, smc.article
from smcard smc, svaartclassif sv
where sv.article = smc.article
and (sv.Tree Like "1.7.%")
and not (sv.Tree Like "1.7.6.%")
insert into smcardassort
select 444 as idassort, smc.article
from smcard smc, svaartclassif sv
where sv.article = smc.article
and (sv.Tree Like "1.15.%")
and smc.country = "РОССИЯ"
insert into smcardassort
select 452 as idassort, smc.article
from smcard smc, svaartclassif sv
where sv.article = smc.article
and (sv.Tree Like "1.15.%")
and smc.country <> "РОССИЯ"
insert into smcardassort
select 445 as idassort, smc.article
from smcard smc, svaartclassif sv
where sv.article = smc.article
and ((sv.Tree Like "1.13.%") or (sv.Tree Like "1.16.%"))
and smc.country = "РОССИЯ"
insert into smcardassort
select 453 as idassort, smc.article
from smcard smc, svaartclassif sv
where sv.article = smc.article
and ((sv.Tree Like "1.13.%") or (sv.Tree Like "1.16.%"))
and smc.country <> "РОССИЯ"
insert into smcardassort
select 446 as idassort, smc.article
from smcard smc, svaartclassif sv
where sv.article = smc.article
and (sv.Tree Like "1.18.%")
and smc.country = "РОССИЯ"
insert into smcardassort
select 454 as idassort, smc.article
from smcard smc, svaartclassif sv
where sv.article = smc.article
and (sv.Tree Like "1.18.%")
and smc.country <> "РОССИЯ"
COMMIT
end
← →
zdm © (2007-01-22 16:37) [18]код delphi плиз.
← →
Patrick (2007-01-22 16:45) [19]MainDataModule.qCreateAssort.Prepared := true;
MainDataModule.qCreateAssort.ExecSQL;
← →
Sergey13 © (2007-01-22 16:46) [20]> [17] Patrick (22.01.07 16:35)
Ну так ; (точка с запятой в конце каждой команды) то где?
← →
Patrick (2007-01-22 16:47) [21]проставлял, делфи пишет, что "неверный символ"
← →
zdm © (2007-01-22 17:05) [22]Вырежи кусок из delphi и кинь сюда.
← →
Anatoly Podgoretsky © (2007-01-22 20:07) [23]> Patrick (22.01.2007 16:47:21) [21]
Ты намекаешь, что приведенный код - это Дельфи, ну тогда без разницы есть точка с запятой или нет.
← →
evvcom © (2007-01-23 10:30) [24]> [21] Patrick (22.01.07 16:47)
> проставлял, делфи пишет, что "неверный символ"
Дельфи-то тут причем? Скрипт, даже это не скрипт а безимянный блок на PL/SQL - оракловый. Дельфи только текст этот передаст ораклу и будет ждать ответа. А если ты не понимаешь, что делаешь, начни с книжек и работоспособной оболочки (developer, toad...)? а потом уж потихоньку к своей перейдешь.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2007.04.15;
Скачать: [xml.tar.bz2];
Память: 0.51 MB
Время: 0.063 c