Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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
15-1217861420
{RASkov}
2008-08-04 18:50
2008.09.28
Альфа-канал


2-1219162979
yaric
2008-08-19 20:22
2008.09.28
Отрисовка TRichEdit


2-1219006228
fog
2008-08-18 00:50
2008.09.28
трудности перевода С


1-1198754585
Kerk
2007-12-27 14:23
2008.09.28
Не переключается раскладка клавиатуры в Excel в OLE-контейнере


15-1218177214
axis_of_evil
2008-08-08 10:33
2008.09.28
резервная копия данных





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