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

Вниз

Хранимая процедура - замена значений null   Найти похожие ветки 

 
Брат   (2002-12-11 11:23) [0]

Мастера! Имеется следующая процедура:
...
CREATE PROCEDURE ZAMENA_NULL RETURNS (
M1 INTEGER,
M2 INTEGER,
M3 INTEGER,
M4 INTEGER,
M5 INTEGER,
M6 INTEGER,
M7 INTEGER,
M8 INTEGER,
M9 INTEGER,
M10 INTEGER,
M11 INTEGER,
M12 INTEGER
) AS
begin
for select m1,m2,m3,m4,m5,m6,m7,m8,m9,m10,m11,m12
from Rospisvidatki
into :m1,:m2,:m3,:m4,:m5,:m6,:m7,:m8,:m9,:m10,:m11,:m12
do begin
if (m1 is NULL) then m1 = 0;
if (m2 is NULL) then m2 = 0;
if (m3 is NULL) then m3 = 0;
if (m4 is NULL) then m4 = 0;
if (m5 is NULL) then m5 = 0;
if (m6 is NULL) then m6 = 0;
if (m7 is NULL) then m7 = 0;
if (m8 is NULL) then m8 = 0;
if (m9 is NULL) then m9 = 0;
if (m10 is NULL) then m10 = 0;
if (m11 is NULL) then m11 = 0;
if (m12 is NULL) then m12 = 0;
suspend;
end
end
...
Она (по идее) должна заменять значения null столбцов m1,m2,...,m12 в таблице на 0. При вызове ошибок не выдает, но и не работает... Подскажите, может что-то не так...


 
Prooksius   (2002-12-11 11:29) [1]

Не работает как? Мы не телепаты!
Наверно, запрос ничего не возвращает?


 
stone   (2002-12-11 11:29) [2]

> if (m1 is NULL) then m1 = 0;

if (:m1 is NULL) then set :m1 = 0;



 
Prooksius   (2002-12-11 11:32) [3]

2 stone © (11.12.02 11:29)
Нет, можно и без :
А вот set не надо вообще.


 
Alexandr   (2002-12-11 11:33) [4]

Зачем такую порянку разводить...
функцию z из Rfunc еще не убирали...


 
Брат   (2002-12-11 11:37) [5]


> Зачем такую порянку разводить...
> функцию z из Rfunc еще не убирали...

а что делает z?


 
Alexandr   (2002-12-11 11:48) [6]

как раз то, что тебе надо


 
Карелин Артем   (2002-12-11 11:51) [7]

И где эта функция валяется??


 
Johnmen   (2002-12-11 11:58) [8]

>Карелин Артем ©

Ты поражаешь своей невнимательностью...:)))

>Брат ©

Пересмотри структуру таблицы и сделай для данных полей default 0, и не надо всей этой мороки !


 
Брат   (2002-12-11 12:00) [9]


> Alexandr © (11.12.02 11:48)
> как раз то, что тебе надо
Пасиба огромное!!! Я просто не знал что есть такая функция


 
Карелин Артем   (2002-12-11 12:01) [10]

>> Ты поражаешь своей невнимательностью...:)))
А что такое Rfunk?? Разве есть это в интербейсике??


 
Prooksius   (2002-12-11 12:03) [11]

В добавок к Johnmen © (11.12.02 11:58)
Можно сделать
update table YourTable set m1 = 0 where m1 is null
и так для каждого m.
Если конечно не требуется нуллов в таблице где-то еще.


 
stone   (2002-12-11 12:07) [12]

2 Prooksius © (11.12.02 11:32)

Я тонкости диалекта IB уже плохо помню, провожу аналогии с MSSQL


 
Alexandr   (2002-12-11 12:09) [13]

всем пользователей интербейсика, MSSQL просьба заткнуть вережку и не соваться со своими вредными советами в обсужнение Interbase.


 
Карелин Артем   (2002-12-11 12:12) [14]

Alexandr © (11.12.02 12:09)
Ответь, что тако Rfunc. Мне интересно.


 
passm   (2002-12-11 12:16) [15]

Alexandr © (11.12.02 12:09)> Напрасно ты так...


 
Prooksius   (2002-12-11 12:18) [16]

2 Alexandr © (11.12.02 12:09)
Злой ты... Человек помочь хотел, а ты его...да еще и с ошибками :))))


 
Alexandr   (2002-12-11 13:40) [17]

www.ibase.ru
там есть ссылка на rfunc.
А кто помочь-то хотел? Я же обратился только к 2 челам - один использует никому не известный интербейсик, а второй MSSQL
какое они имеют отношение к Interbase и чем могли бы помочь?


 
passm   (2002-12-11 13:48) [18]

Alexandr © (11.12.02 13:40)> В свое время интербейсик был популярен :) Видимо, ты его не застал.


 
Alexandr   (2002-12-11 13:49) [19]

да, но это офтопик в этой конфе.


 
Карелин Артем   (2002-12-16 11:39) [20]

интербейсик = Interbase ;)


 
Alexandr   (2002-12-16 12:05) [21]


> Карелин Артем © (16.12.02 11:39)
> интербейсик = Interbase ;)


во, блин, ключевая фраза всей этой ветки.


 
NDeu   (2002-12-16 13:30) [22]

Убери suspend;


 
Карелин Артем   (2002-12-16 13:38) [23]

Какой был флейм, а надо просто переставить местами suspend и end.


 
FreeLancer   (2002-12-16 13:48) [24]


> Карелин Артем © (16.12.02 13:38)
> Какой был флейм, а надо просто переставить местами suspend
> и end.

И что это даст? Одну запись на возврате?



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

Форум: "Базы";
Текущий архив: 2003.01.09;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.006 c
1-24843
Сергей
2002-12-25 20:39
2003.01.09
Странное поведение AssignFile( ) - короче не работает, а почему?


1-24963
Dmitriy_R
2002-12-27 07:23
2003.01.09
Memo.Lines.LoadFromFile обработка ошибок


14-25031
maxim2
2002-12-20 06:04
2003.01.09
Кто знает где есть книга Рихтера по Delphi на русском языке


1-24828
white
2002-12-27 11:44
2003.01.09
DispatchMessage?????


3-24780
EternalWonderer
2002-11-29 13:09
2003.01.09
Parse to Execute Ratio = 101





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