powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Event & coursor (Sybase 9 ASA)
12 сообщений из 12, страница 1 из 1
Event & coursor (Sybase 9 ASA)
    #38275647
YURY_1988
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Народ, подскажите пожалуйста, как можно использовать процедуру (курсор) из настроенного эвента на "user disconnect". Просто вызвать ее не получается-не хочет работать с курсором!! Есть варианты?? Буду очень признателен за помощь!!
...
Рейтинг: 0 / 0
Event & coursor (Sybase 9 ASA)
    #38275656
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Во первых, процедура и курсор это две очень разные вещи. Ставить между ними знак равенства - прямая дорога к проблемам.
Во вторых, что ты хочешь от события? Зарегестрировать когда юзер ушел?
Код: sql
1.
2.
3.
4.
create event OnDisconnect type "Disconnect"
handler begin
    insert into activity_log values (user_name(), "log off", today());
end

И все.

читай:
http://infocenter.sybase.com/help/topic/com.sybase.help.sqlanywhere.12.0.0/dbreference/create-event-statement.html
...
Рейтинг: 0 / 0
Event & coursor (Sybase 9 ASA)
    #38275663
YURY_1988
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
White Owl, То что процедура и курсор это разные события, я знаю!! я так написал, потому что в моей процедуре кроме курсора нет ничего! курсор обрабатывает системную процедуру sa_conn_activity и загружает подключенных юзеров в мою таблицу в базу данных!
...
Рейтинг: 0 / 0
Event & coursor (Sybase 9 ASA)
    #38275666
YURY_1988
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
White Owl, Наверное я коряво задал вопрос))) я хотел сказать как из эвента вызвать эту самую процедуру??? чтобы она отработала?
...
Рейтинг: 0 / 0
Event & coursor (Sybase 9 ASA)
    #38275671
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну так а HANDLER на что? Пишешь там текст своей процедуры и все.
А будет там один insert или два десятка FOR никакой разницы нет.
...
Рейтинг: 0 / 0
Event & coursor (Sybase 9 ASA)
    #38275677
YURY_1988
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Короче вот эвент
Код: sql
1.
2.
3.
4.
5.
CREATE EVENT "Connected_Users_del" TYPE "Disconnect"
HANDLER
begin 
call aa_connected_users_tmp;
end;


\\\\\\\\\\\\\
а вот процедура
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
ALTER PROCEDURE "DBA"."Connected_users_tmp_ins"()
begin
declare err_notfound exception for sqlstate value '02000'; 
declare Vnm varchar(100);
declare vNAMBER integer; 
declare vNAME long varchar;
declare vUSERID long varchar;
declare vDBNUMBER integer; 
declare vEXEC long varchar;
declare vLASTREQTIME datetime; 
declare vLASTSTATMENT varchar;

declare C_1 dynamic scroll cursor for call sa_conn_activity;
//
DELETE FROM CONNECTED_USERS_TMP;
open C_1;
C_1: loop
fetch next C_1 into vNAMBER,vNAME,vUSERID,vDBNUMBER,vLASTREQTIME,vLASTSTATMENT;
if sqlstate=err_notfound then
leave C_1
end if
;
INSERT INTO CONNECTED_USERS_TMP(NUMBER_SYS_ID,NAME_SYS,USER_SYS_ID,DB_NUMBER_SYS,LAST_REQ_TIME_SYS,LASTSTATEMENT)VALUES (vNAMBER,vNAME,vUSERID,vDBNUMBER,vLASTREQTIME,vLASTSTATMENT); 
end loop C_1
;
close C_1;
commit work;
end




НЕ СРАБАТЫВАЕТ! Из-за курсора в этой процедуре! Убираешь курсор - делаю простой инсерт-все ок!!НО нужен именно курсор!
Модератор: пользуйся кнопкой SRC. Не дублируй сообщения
...
Рейтинг: 0 / 0
Event & coursor (Sybase 9 ASA)
    #38275691
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А тебя не смущает что в событии вызывается одна процедура, а правишь ты другую?

И я не понимаю, зачем тебе тут курсор понадобился.
Код: sql
1.
2.
3.
insert into CONNECTED_USERS_TMP(NUMBER_SYS_ID,NAME_SYS,USER_SYS_ID,DB_NUMBER_SYS,LAST_REQ_TIME_SYS,LASTSTATEMENT)
select NUMBER_SYS_ID,NAME_SYS,USER_SYS_ID,DB_NUMBER_SYS,LAST_REQ_TIME_SYS,LASTSTATEMENT
from  sa_conn_activity()


И не нужно делать никаких переменных или курсоров.

И вообще, если ты живешь в ASA 9 то, и используй WatcomSQL. Вместо declare/open/fetch/close просто один-единственный FOR. Читай BOL, там много интересного.
...
Рейтинг: 0 / 0
Event & coursor (Sybase 9 ASA)
    #38276913
YURY_1988
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
White Owl,

Не надо смотреть на названия процедур!!! Для примера кинул блин похожую!!! Как можно делать такой инсерт, как ты написал , делая селект из системной процедуры?!? Это же не таблица!!!!это один из старых моих проектов- надо доделать кое что!! Не буду я уже о нем ниче читать )ии и ще, я не начинающий программист- не ищите детских ошибок!! Давайте по делу.
...
Рейтинг: 0 / 0
Event & coursor (Sybase 9 ASA)
    #38277059
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YURY_1988White Owl,

Не надо смотреть на названия процедур!!! Для примера кинул блин похожую!!!Не нужно так делать.

YURY_1988Как можно делать такой инсерт, как ты написал , делая селект из системной процедуры?!? Это же не таблица!!!!это один из старых моих проектов- надо доделать кое что!! Не буду я уже о нем ниче читать )ии и ще, я не начинающий программист- не ищите детских ошибок!! Давайте по делу.Ты меня конечно извини, но только начинающие отказываются читать документацию.
http://infocenter.sybase.com/help/topic/com.sybase.help.sqlanywhere.12.0.1/dbreference/from-statement.html
Посмотри что стоит на третьем месте в определении table-expression?
...
Рейтинг: 0 / 0
Event & coursor (Sybase 9 ASA)
    #38277327
YURY_1988
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
White Owl,
ты сначала попробуй свой инсерт в 9 sybase,а потом мне теорию советуй!!!ну давай, не поленись)))То, что ты мне написал- это было первое что я попробовал сделать, для решения моей задачи))) НЕ КАТИТ!!!!давай мы не будем спорить, спасибо за попытку помочь!
...
Рейтинг: 0 / 0
Event & coursor (Sybase 9 ASA)
    #38277335
YURY_1988
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
YURY_1988, Блин чувак, извини пожалуйста!!! ты прав!! попробовал сделать так как ты сказал -все получилось!)))блин, короче чет я затупил!!! Причем реально как молодой)))!!просто уже давно не работал в Sybase)) Закрываем тему))
...
Рейтинг: 0 / 0
Event & coursor (Sybase 9 ASA)
    #38277406
YURY_1988
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
YURY_1988, вообще я все сделал правильно и ты писал все правильно!! не срабатывало потому что я не поставил commit после очищения таблицы в начале процедуры))))блин, стыдоба))
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Event & coursor (Sybase 9 ASA)
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]