Главная страница
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.036 c
2-1143573708
mr1Andersen
2006-03-28 23:21
2006.04.16
Простой вопрос


1-1142331796
Экспериментатор
2006-03-14 13:23
2006.04.16
Как отправить Email с аттачем


15-1143311184
u-12
2006-03-25 21:26
2006.04.16
Какой язык лучше для моделирования?


4-1138189970
Dr.Karter
2006-01-25 14:52
2006.04.16
Закрытие других приложений


2-1143995705
Bruce
2006-04-02 20:35
2006.04.16
PChar утечка памяти