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

Вниз

Mysql stored proc, записи в цикле   Найти похожие ветки 

 
Avil   (2011-03-15 12:59) [0]

Дорогие мастера, помогие с проблемой.

Стало быть весь мой опыт написания процедур остановился на firebird/IB, но недавно потребовалось написать клиент под mysql, для чего надо создать несколько хранимых процедур для выборки данных. И тут возникла такая проблема:

for select column from table into :out_column do suspend;

Как это написать на MySQL? Согласно документации необходимо создавать временные таблицы и работать с ними, но в общем виде мне не удалось найти примеров, только описание отдельных методов, которые участвуют в построении.


 
clickmaker ©   (2011-03-15 13:04) [1]

> Как это написать на MySQL?

CREATE PROCEDURE `sp_MyProc`()
BEGIN
 SELECT `column` FROM `table`;
END;


 
Avil   (2011-03-15 13:13) [2]


>CREATE PROCEDURE `sp_MyProc`()
>BEGIN
>SELECT `column` FROM `table`;
>END;


Видимо придется в полной мере запрос сделать чтобы было понятно.


for
select column
from table1
into :v_column
do
begin
if (:v_column = 1) then
 result = "yes"
else
 result = "no";
suspend;
end


Операцию сравнения надо сделать для каждой записи table1.


 
clickmaker ©   (2011-03-15 13:17) [3]

if exists (select * from table1 where column = 1)
 set result = "yes"
else
 set result = "no"


 
Avil   (2011-03-15 13:40) [4]


> if exists (select * from table1 where column = 1)
>  set result = "yes"
> else
>  set result = "no"


>Операцию сравнения надо сделать для каждой записи table1.
Для каждой значит не хотя бы одна.
И ключевое слово suspend; как бы намекает, что производится добавления строки в результирующую таблицу.
Мне нужна таблица результатов, а не одна переменная с последним результатом.


 
clickmaker ©   (2011-03-15 13:46) [5]

http://dev.mysql.com/doc/refman/5.0/en/cursors.html


 
Avil   (2011-03-15 13:49) [6]

Спасибо, оно.


 
b z   (2011-03-15 15:31) [7]

Вродеж кэйс тоже есть тут...
select case column when 1 then "yes" else "no" end as result from table1



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

Форум: "Начинающим";
Текущий архив: 2011.06.19;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.003 c
15-1298707427
RWolf
2011-02-26 11:03
2011.06.19
Подскажите подходящий grid


2-1299925596
Scott Storch
2011-03-12 13:26
2011.06.19
сформировать иерархию


2-1300183147
Avil
2011-03-15 12:59
2011.06.19
Mysql stored proc, записи в цикле


2-1299971156
Сергей К.
2011-03-13 02:05
2011.06.19
Нажатие клавиши


15-1298896576
hasp4
2011-02-28 15:36
2011.06.19
Размер памяти в hasp 4





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский