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

Вниз

Непонятки с хранимой процедурой   Найти похожие ветки 

 
dreamse   (2006-02-21 13:47) [0]

В общем код



CREATE PROCEDURE AddPingstatList (
@date datetime,
@compNumber char(10),
@key char (10)
)

AS

UPDATE
Statis_ping
SET
Dateping = @date,
t010 = "1"


Должен обновить поля Dateping и поле t010  ( уставновить ему "1" ) что и происходит

Проблема вот в чём : Полей типа t010 у меня более 140 ( t010 , t011 , t012 , t013 , t014 и.д )

Все их переписывать в запросе нет нужды , можно ли сделать так :


UPDATE
Statis_ping
SET
Dateping = @date,
@key = "1"


А в @key уже будет записано имя поля т.е t010
Чтобы программа могла просто передавать имя поля и значение , а процедура писала бы в это поле , а не перечислять все 140 полей в процедуре


 
stone ©   (2006-02-21 13:51) [1]

можно
см. EXECUTE в BOL


 
dreamse   (2006-02-21 13:59) [2]

> stone ©   (21.02.06 13:51) [1]

Не нашёл ... по запросу EXECUTE найдено 786 значений ... где искать ? или скажите как составить такой запрос... Срочно нужно


 
MOA ©   (2006-02-21 14:03) [3]

>Полей типа t010 у меня более 140
Следовательно, неладно что-то в датском королевстве ;).
А именно - структура базы спроектирована, видимо, как-то не так. Так редко бывает, чтобы такая колбаса была нужна. Да и геморроя при написании приложения будет изрядно - например, вот такого как в сабже.
Удачи!


 
Ega23 ©   (2006-02-21 14:06) [4]


> Полей типа t010 у меня более 140


Какой ужас!!!!
Немедленно исправляй структуру базы, а то так намучаешься - мама не горюй!


 
dreamse   (2006-02-21 14:07) [5]

> MOA ©   (21.02.06 14:03) [3]

Я всё понимаю что данный подход неверен , но нужно написать функцию которая бы пинговала клиентов каждый 10 минут и зановила данные в таблицу , чтобы потом можно было просмотреть когда и где клиенты были а когда их небыло :

Пример
http://acs.drage.kz/files/pic/ping.jpg

Сколько клиентов не известно ,
Если есть более радикальное решение данной задачи , то ознакомьте будьте любезны


 
stone ©   (2006-02-21 14:11) [6]

У тебя на каждый временной промежуток отдельное поле? Срочно меняй структуру.


 
dreamse   (2006-02-21 14:16) [7]

> stone ©   (21.02.06 14:11) [6]

Каким образом ? мозги совсем что то не варят :(  Весь день думаю уже над этим ...

Нужно :

1) Занесение данных каждые 10 минут на разное ( от 1 до 200 ) количество компьютеров клиентов
2) Чтение и формирование отчёта , либо графического представления ( как показано на рисунке , с вычитанием времени : сколько не пинговался клиент )


 
MOA ©   (2006-02-21 14:22) [8]

Например - таблица с полями "ИДклиента", "Время", "Состояние", ключ - "ИДклиента", "Время", возможно, дополнительно индекс по "Время" - но нужно смотреть. Для MSSQL подобная таблица - не вопрос, если железке хотя бы года 2001-2002.
Работа с такой таблице намного проще, не говоря уже о том, что правильнее. Да и
>на разное ( от 1 до 200 ) количество компьютеров
Удачи!


 
stone ©   (2006-02-21 14:24) [9]

Ну так и заноси компьютер, время и результат пингования
На экране рисуй временную карту (хоть как на рисунке) и закрашивай квадратики



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

Текущий архив: 2006.04.16;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.039 c
15-1143057806
Petr V. Abramov
2006-03-22 23:03
2006.04.16
Фильм "Горбатая Гора"


15-1143620105
balepa
2006-03-29 12:15
2006.04.16
Нормально ли?


15-1143552114
Victor_t
2006-03-28 17:21
2006.04.16
Простенькая задачка


5-1129377067
gde11
2005-10-15 15:51
2006.04.16
Не показываются в Instectore свойства внутреннего компонента.


2-1143635200
jenya_rus
2006-03-29 16:26
2006.04.16
Rename...