Форум: "Базы";
Текущий архив: 2013.08.25;
Скачать: [xml.tar.bz2];
Внизраспарсить строку во входящем параметре запроса Найти похожие ветки
← →
tomkat (2010-12-15 17:45) [0]День добрый. подскажите оптимальное решение :есть запрос , входящий параметр - строка с перечнем дат , типа "01.05.2010;02.03.2009;07.08.2007", нужно получить список дат и для них запустить некую процедуру внутри.
← →
Ega23 © (2010-12-16 00:58) [1]
select field1 from table1 where field1 in (1,2,3)
← →
Виталий Панасенко (2010-12-16 11:56) [2]execute block
← →
tomkat (2010-12-16 12:38) [3]
select field1 from table1 where field1 in (1,2,3)
это как ? что такое (1,2,3) ???? при чем здесь таблица ??
← →
Виталий Панасенко (2010-12-16 13:04) [4]еще вариант - execute statement
← →
tomkat (2010-12-16 13:07) [5]здесь нет таблицы, мне нужно генерировать набор записей из распарсеной строки входящего параметра
что-то с использованием WHILE, SUBSTRING
← →
tomkat (2010-12-16 13:12) [6]ВОТ решение ! на входе пишем
01.02.2005,03.08.2007,17.12.2010
получаем
ID
01.02.2005
03.08.2007
17.12.2010
вот процедураcreate procedure PARSDATESTR (
IDS varchar(32700))
returns (
ID varchar(100))
as
declare variable I integer = 1;
declare variable J integer = 1;
BEGIN
IDS = TRIM(:IDS);
WHILE (:I <= CHAR_LENGTH(:IDS)) DO
BEGIN
IF ("," = SUBSTRING(:IDS FROM :I FOR 1)) THEN
BEGIN
ID = SUBSTRING(:IDS FROM :J FOR :I - :J);
SUSPEND;
I = :I + 1;
J = :I;
END
I = :I + 1;
END
IF (:I > :J) THEN
BEGIN
ID = SUBSTRING(:IDS FROM :J FOR :I - :J);
SUSPEND;
END
END
← →
Виталий Панасенко (2010-12-16 14:15) [7]если ФБ 2,х, то можно без процедуры.. execute block Тебе в помощь
← →
tomkat (2010-12-16 15:02) [8]
можно без процедуры..
мне ж его из базы вызывать ... а вот внутри процедуры execute block не вызывается :-(
← →
Виталий Панасенко (2010-12-17 15:50) [9]кто-то из нас "гонит". особой разницы между процедурой и блоком нету...кроме одного: для блока не нужно "ковырять" БД. а так я "потерялся"...и не понял, почему блок нельзя юзать.. ну то от лукавого!
← →
Правильный$Вася (2010-12-17 17:09) [10]а насколько велик этот список дат?
не вылезет ли он за ограничение на длину строки или запроса?
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2013.08.25;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.003 c