SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 16.08.2010 13:17:50

lkote
Завсегдатай
Зарегистрирован: 07.07.2010
Сообщений: 25

Как выполнить инструкцию в цикле

Здравствуйте ув. мастера подскажите плиз
имею табл
CREATE TABLE St_db.table1(                     
  id INTEGER (11) UNSIGNED NOT NULL AUTO_INCREMENT UNIQUE,
  param TEXT DEFAULT NULL,
  pnt INTEGER (11) UNSIGNED DEFAULT NULL,
  st BOOL DEFAULT NULL
)
ENGINE = MYISAM;

Представляю себе как вызывая из С++ выполнить цикл скажем 8 раз где параметр pnt будет равен счетчику цикла i
INSERT
INTO TABLE St_db.table1 (param,pnt, st)
VALUES ('par_id', 1, i, 0);

как выполнить такую же операцию чисто средствами SQL?

Неактивен

 

#2 16.08.2010 13:39:35

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Как выполнить инструкцию в цикле

Ну, например, можно набрать 8 раз эту команду. Или написать программу,
которая будет выводить это на stdout и скормить вывод клиенту. Или какой
угодно другой способ. 8 INSERTов всегда будут восемью INSERTами, какие
обертки вокруг ни придумывай.

Неактивен

 

#3 16.08.2010 18:00:02

LazY
_cмельчак
MySQL Authorized Developer and DBA
Зарегистрирован: 02.04.2007
Сообщений: 849

Re: Как выполнить инструкцию в цикле

Циклические конструкции в MySQL возможны только в процедурах, функциях и триггерах. В простых запросах так не сделаешь.
(как вариант - сначала вставить это все во временную таблицу, а потом сделать INSERT SELECT в таблицу конечную)

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson