Форум: "Базы";
Текущий архив: 2008.09.28;
Скачать: [xml.tar.bz2];
Вниз
Хранимая процедура. Перевод строки Найти похожие ветки
← →
Xmen (2008-03-26 15:02) [0]написал такую хранимую процедуру. процедура вводит в одну строку данные совподающие заданному значению.
CREATE PROCEDURE mytable(main_id integer)
returns (mytexts varchar(250))
as
declare variable rez varchar(50);
declare variable per varchar(50);
declare variable condat varchar(10);
begin
mytexts="";
for select (select p.personal_name from personal p where p.id=e.executor_id), e.resolution, e.control_date
from incoming_executor e
where e.incoming_id=:main_id
into :per, :rez, :condat
do
begin
if (per is null) then per="";
if (rez is null) then rez="";
if (condat is null) then condat="";
mytexts=mytexts||"||"||:per||" "||:rez||" "||:condat;
end
suspend;
end
Как можно сделат так чтобы после определенного слово остальное вводился в другу строку. Например у меня сейчас так
||Иванов И.Н. на выполнения 29,02,2008||Петров С.В. на рассмотрения 28,02,2008
Должно быт
Иванов И.Н. на выполнения 29,02,2008
Петров С.В. на рассмотрения 28,02,2008
Шаманство || и #13 не получился
Вызиваю процедуру так
select i.*,(select mytexts from mytable(i.id)) executors
from incoming i
where i.reg_date between :DATE1 and :DATE2
← →
Reindeer Moss Eater © (2008-03-26 15:17) [1]если не получится (почему кстати?) то метасимовл и его замена на CRLF на клиенте
← →
Xmen (2008-03-26 15:24) [2]можно ваш вариант этого куска
mytexts=mytexts||"||"||:per||" "||:rez||" "||:condat;
интересует то что в черном.
← →
Reindeer Moss Eater © (2008-03-26 15:29) [3]В черном #13#10
← →
Xmen (2008-03-26 15:32) [4]mytexts=mytexts||"#13#10"||:per||" "||:rez||" "||:condat; так не получился как текст пишет
mytexts=mytexts||#13#10||:per||" "||:rez||" "||:condat; так выдал ошибку
Invalid token.
Dynamic SQL Error.
SQL error code = -104.
Token unknown - line 19, char 24.
#.
← →
Правильный_Вася (2008-03-26 15:32) [5]
> после определенного слово остальное вводился в другу строку
строка - это текстовая переменная или запись набора данных?
← →
Reindeer Moss Eater © (2008-03-26 15:33) [6]Дядька походу юный юниксоид попавший на винду.
← →
Reindeer Moss Eater © (2008-03-26 15:35) [7]так не получился как текст пишет
Совсем в танке? Не надо так буквально воспринимать ответы.
Я ведь мог и CRLF всесто #13#10 написать.
← →
Xmen (2008-03-26 15:38) [8]Ну это вопрос возник после моего вчерашнего вопроса. Если помните там тоже отвечали
http://delphimaster.net/view/3-1206330334/
← →
Reindeer Moss Eater © (2008-03-26 15:39) [9]Ищи функцию возвращающую символ по его коду.
← →
Правильный_Вася (2008-03-26 15:41) [10]мануал читать про UDF и ascii_char
← →
Xmen (2008-03-26 15:42) [11]
> Reindeer Moss Eater © (26.03.08 15:35) [7]
> так не получился как текст пишетСовсем в танке? Не надо
> так буквально воспринимать ответы.Я ведь мог и CRLF всесто
> #13#10 написать.
> Reindeer Moss Eater © (26.03.08 15:39) [9]
> Ищи функцию возвращающую символ по его коду.
Ну низнаю сейчас как это сделат :(
Наверно в танке.
← →
Reindeer Moss Eater © (2008-03-26 15:50) [12]Не знаешь как искать функцию?
Рассказываю:
открываешь доку и читаешь сверху вниз, слева направо.
← →
Xmen (2008-03-26 15:56) [13]лучше меня пинайте, ругайте но покажите пример.
я посмотрелбы доки но низнаю где искать и чего, вот моя проблема :(
← →
Reindeer Moss Eater © (2008-03-26 15:56) [14]... и обнаруживаешь, что ее там не предусмотрели.
тогда либо метаимволы и замена на клиенте или udf как уже сказали.
← →
Правильный_Вася (2008-03-26 15:57) [15]
> низнаю где искать и чего
Правильный_Вася (26.03.08 15:41) [10]
← →
Reindeer Moss Eater © (2008-03-26 15:57) [16]нету там встроенной. так что [14]
← →
Johnmen © (2008-03-26 16:16) [17]
> Xmen (26.03.08 15:02)
В теле процедуры исх код должен быть таким (дословно!):mytexts=mytexts||"
"||:per||"
"||:rez||"
"||:condat;
← →
Reindeer Moss Eater © (2008-03-26 16:22) [18]ё-маё. кто бы мог подумать :)
← →
Правильный_Вася (2008-03-26 16:33) [19]
> В теле процедуры исх код должен быть таким (дословно!):
можно, но не наглядно
← →
Правильный_Вася (2008-03-26 16:37) [20]мало того, есть подозрение, что компиляция под виндой и никсами в итоге дас разный результат в переменную
← →
Johnmen © (2008-03-26 16:40) [21]
> Reindeer Moss Eater © (26.03.08 16:22) [18]
> ё-маё. кто бы мог подумать :)
Да, вот такая фича... :)
← →
Johnmen © (2008-03-26 16:42) [22]можно, но не наглядно
Напиши наглядно. Никто не будет против, только "за".
> мало того, есть подозрение, что компиляция под виндой и
> никсами в итоге дас разный результат в переменную
Скажу больше, компиляция в условиях вакуума вообще не пойдёт.
← →
Правильный_Вася (2008-03-26 16:47) [23]
> компиляция в условиях вакуума вообще не пойдёт.
зря остришь
код, возвращающий при одних входных данных разный результат, - верный путь к большим тумакам
> Напиши наглядно.
уже писал выше
← →
Johnmen © (2008-03-26 17:01) [24]
> Правильный_Вася (26.03.08 16:47) [23]
> зря остришь
Да не острю я, а намекаю на то, что здесь это не причем, и что всяких "если" можно напридумывать...
> > Напиши наглядно.
> уже писал выше
Т.е. "наглядно, но не работает" - к этому надо стремиться?
:))
← →
Правильный_Вася (2008-03-26 17:05) [25]
> намекаю на то, что здесь это не причем
как так ни при чем?
в никсах перевод строки одним кодом делается, а не двумя как в винде
> "наглядно, но не работает" - к этому надо стремиться?
показанная мной UDF прекрасно работает и при этом наглядна в коде
← →
Johnmen © (2008-03-26 17:12) [26]
> как так ни при чем?в никсах перевод строки одним кодом делается,
> а не двумя как в винде
Да хоть тремя! К автору ветки это никак не относится...
> показанная мной UDF прекрасно работает и при этом наглядна в коде
А-а-а, если УДФ, тогда да, работает.
Но насчет удобства и наглядности можно поспорить. Но не буду. Ибо лично для меня хотя бы та же наглядность кода процедуры сколь-нибудь важна только в момент её написания и отладки. А эти действия "единовременны".
← →
Правильный_Вася (2008-03-26 17:31) [27]
> К автору ветки это никак не относится...
ты почем знаешь, где у него крутится сервер и какова дальнейшая судьба проекта?
надо хоть на шаг вперед думать
и предполагать возможность дальнейшей доработки не обязательно тобой
← →
Johnmen © (2008-03-26 17:36) [28]
> ты почем знаешь, где у него крутится сервер и какова дальнейшая
> судьба проекта?
У меня мощный телепатор. Хоть и изношенный...
← →
Xmen (2008-03-27 10:15) [29]
> Правильный_Вася (26.03.08 17:31) [27]
> > К автору ветки это никак не относится...ты почем знаешь,
> где у него крутится сервер и какова дальнейшая судьба проекта?
> надо хоть на шаг вперед думатьи предполагать возможность
> дальнейшей доработки не обязательно тобой
Уменя кроми винды ничего нет и наверно не будет потамучто сопровождение никс систем очен дорого(ИМХО) да я тоже если в правду то близко низнаком с такими ОС
← →
__Ruslan (2008-04-02 12:47) [30]здесь обсуждалось:
http://sql.ru/forum/actualthread.aspx?tid=534265
решение завести переменную:
CRLF = "
";
← →
Johnmen © (2008-04-02 13:46) [31]Б..., ну что за козел поднимает мертвеца, не читая самой ветки?
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2008.09.28;
Скачать: [xml.tar.bz2];
Память: 0.52 MB
Время: 0.041 c