Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.01.09;
Скачать: CL | DM;

Вниз

Хранимая процедура - замена значений 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;
Скачать: CL | DM;

Наверх




Память: 0.52 MB
Время: 0.011 c
6-24997
Граф
2002-11-06 22:15
2003.01.09
регламентировать доступ к shares через логин-пароль в ХР


1-24856
Vlad
2002-12-27 21:07
2003.01.09
Как можно


3-24764
NetKnight
2002-12-11 02:12
2003.01.09
interbase db fix


14-25012
han_malign
2002-12-19 12:31
2003.01.09
---|Ветка была без названия|---


14-25064
NewGuest
2002-12-17 18:11
2003.01.09
Народ...!!! Посоветуйте PLZ!!