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

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.045 c
2-1142891350
XeON
2006-03-21 00:49
2006.04.16
Подвисание программы


4-1138178994
maxim161
2006-01-25 11:49
2006.04.16
Shutdown&DOS applications


2-1143691956
vegarulez
2006-03-30 08:12
2006.04.16
Подскажите плиз.... как загружать рисунок на форму?


3-1140428401
Shlomo
2006-02-20 12:40
2006.04.16
Ошибка: The conversion of a chat data type to a datetime data typ


2-1143956177
Владимир_К
2006-04-02 09:36
2006.04.16
Динамическое создание компонентов.





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