Разбор строки в хранимой процедуре

Запросы, планы, оптимизация запросов, ...

Модераторы: kdv, CyberMax

Ответить
starik
Сообщения: 4
Зарегистрирован: 28 апр 2005, 17:42

Разбор строки в хранимой процедуре

Сообщение starik » 28 апр 2005, 18:00

Добрый день! Созданы таблицы
Create Flows (
FlowId integer not null primary key,
FlowName char(50));
Create Groups (
GroupId integer not null primary key,
GroupName char(10));

далее внесено:
Insert into Flows(1,FlowName) values ('М-104,М-204,СП-104');
Insert into Flows(1,FlowName) values ('ВЛ-104,ВЛ-204,СП-104');

Как с помощью хранимой процедуры разобрать строку и получить
названия групп М-104, М-204, СП-104,... в столбце GroupName таблицы Groups??
Спасибо.

Merlin
Динозавр IB/FB
Сообщения: 1502
Зарегистрирован: 27 окт 2004, 11:44

Сообщение Merlin » 28 апр 2005, 18:16

О поле... Кто тебя усеял... Про отношения 1:n что-нить слышать доводилось?

starik
Сообщения: 4
Зарегистрирован: 28 апр 2005, 17:42

Сообщение starik » 28 апр 2005, 18:23

приходилось. Переформулирую вопрос. Есть строка '1234,5678,2534'.
Известно, что запятая - разделитель. Можно ли выделить '1234', '5678', '2534'?? На Дельфи это несложно. Можно ли в хранимой процедуре?

Merlin
Динозавр IB/FB
Сообщения: 1502
Зарегистрирован: 27 окт 2004, 11:44

Сообщение Merlin » 28 апр 2005, 18:35

Можно.

starik
Сообщения: 4
Зарегистрирован: 28 апр 2005, 17:42

Сообщение starik » 28 апр 2005, 18:45

Может быть, Вы знаете как (хотя бы в общем) это сделать?

Merlin
Динозавр IB/FB
Сообщения: 1502
Зарегистрирован: 27 окт 2004, 11:44

Сообщение Merlin » 28 апр 2005, 19:05

Пользуясь UDF и SDF. Какими - зависит от версии сервера и имеющихся в его дистрибутиве, а также какие найдутся в инете или написаны самим. Но я Вас очень прошу - сделайте лучше по-людски, а то мне ведь перед Богом отвечать за такие советы.

starik
Сообщения: 4
Зарегистрирован: 28 апр 2005, 17:42

Сообщение starik » 28 апр 2005, 19:10

Спасибо. Как я понимаю, в самом языке Ibase средств-таки нет и все равно придется писать (или искать) на Delphi (или C)

Merlin
Динозавр IB/FB
Сообщения: 1502
Зарегистрирован: 27 окт 2004, 11:44

Сообщение Merlin » 28 апр 2005, 19:36

За InterBase точно не скажу, но по-моему там строковые функции остались в виде UDF, хоть и стандартных. В FB часть из них, например, substring, вошли в состав встроенных функций.

Ivan_Pisarevsky
Заслуженный разработчик
Сообщения: 644
Зарегистрирован: 15 фев 2005, 11:34

Сообщение Ivan_Pisarevsky » 29 апр 2005, 08:07

все равно придется писать (или искать)
Если нормально спроектировать БД, то не придется. :wink:

Ответить