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

Вниз

подскажие как сделать запрос!   Найти похожие ветки 

 
Nina   (2002-08-26 15:13) [0]

например вывести всех пользователей котрые сейчас активны?

select username
from v$session
where status ="ACTIVE"

чтобы в программке показали
сколько именно их активных 20 или 10!
подскажите как!??


 
Lord Warlock ©   (2002-08-26 15:15) [1]

select Count(username)
from v$session
where status ="ACTIVE"



 
Johnny Smith   (2002-08-26 15:40) [2]

Вот какой запрос формирует TOAD:

SELECT /*+ rule */
s.status "Status", s.serial# "Serial#", s.TYPE "Type",
s.username "DB User", s.osuser "Client User", s.server "Server",
s.machine "Machine", s.module "Module", s.terminal "Terminal",
s.program "Program", p.program "O.S. Program",
s.logon_time "Connect Time", lockwait "Lock Wait",
si.physical_reads "Physical Reads", si.block_gets "Block Gets",
si.consistent_gets "Consistent Gets",
si.block_changes "Block Changes",
si.consistent_changes "Consistent Changes", s.process "Process",
p.spid, p.pid, s.serial#, si.sid, s.sql_address "Address",
s.sql_hash_value "Sql Hash", s.action
FROM v$session s, v$process p, sys.v_$sess_io si
WHERE s.paddr = p.addr(+)
AND si.sid(+) = s.sid
AND (s.username IS NOT NULL)
AND (NVL (s.osuser, "x") <> "SYSTEM")
AND (s.TYPE <> "BACKGROUND")
ORDER BY 5



 
Nina   (2002-08-27 05:57) [3]

Johnny Smith всё что вы написали я не очень поняла что это??

и расскажите потом как это значение вывывести например в Edit?


 
Johnny Smith   (2002-08-27 09:30) [4]

2Nina (27.08.02 05:57)
Johnny Smith всё что вы написали я не очень поняла что это??
Что я написал?
Ну, вообще говоря это выборка активных пользователей и пользовательских процессов, которые сейчас юзают Oracle. Причем с наименованием приложений, с помощью которых те работают с базой. И еще протча и протча. При этом НЕ выводятся системные и бекграундные процессы.
Если же Вы хотите получить количество пользователей, подсоединенных к базе, несмотря на количество приложений, которые они используют (т.е. без учета пользовательских процессов), используйте
select count(username) from v$session
where username IS NOT NULL
and
NVL (osuser, "x") <> "SYSTEM"
and
TYPE <> "BACKGROUND"


 
Nina   (2002-08-27 11:43) [5]

Johnny Smith >> а как теперь это значение вывести в приложении
в Edit например?


 
Nina   (2002-08-27 12:41) [6]

Johnny Smith скажите что означает ...
and
NVL (osuser, "x") <> "SYSTEM"
and
TYPE <> "BACKGROUND"


 
Johnny Smith   (2002-08-27 12:49) [7]

2Nina (27.08.02 11:43)
Чтобы вывести результат такого запроса в Edit, сделайте:
1) поместите текст запроса в Query;
2) выполните запрос;
3) выполните Edit1.Text:=Query.Fields[0].Value;

2Nina (27.08.02 12:41)
Эти условия означают, что в выборку не попадут системные и бекграундные процессы (LGWR,DBWR и пр.)


 
Nina   (2002-08-27 13:24) [8]

Johnny Smith
спаисбо большое!
в как это можно сделать через хранимую процедуру!
это правильно??
create or replace procedure kol
(kol out number)
as begin
select COUNT(USERNAME)
from v$session
WHERE STATUS ="ACTIVE"
AND USERNAME IS NOT NULL
end;

я просто с Ораклом ни когда не работала
не много с IB работала
спаисбо !


 
Johnny Smith   (2002-08-27 14:23) [9]

Вот, пожалуй, правильный текст (Вы забыли into kol)
create or replace procedure kol
(kol out number)
as begin
select COUNT(USERNAME) into kol
from v$session
WHERE STATUS ="ACTIVE"
AND USERNAME IS NOT NULL
end;

спаисбо большое!
Всегда пожалуйста. Случай чего - пишите. Можно на мыло.


 
Black Cat ©   (2002-08-27 14:36) [10]

Или так:
CREATE OR REPLACE FUNCTION "SYS"."KOL_USER"
return int
as
num int;
begin
select count(username) into num
from v$session
WHERE STATUS ="ACTIVE"
AND USERNAME IS NOT NULL;
return num;
end;



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

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

Наверх




Память: 0.49 MB
Время: 0.011 c
1-50827
Magic
2002-09-04 10:12
2002.09.16
Caption на TButton


8-50871
Darts
2002-05-18 16:30
2002.09.16
Быстрый вывод графики


14-50944
Malder
2002-08-20 22:18
2002.09.16
AudioGalaxy - был шедевром


1-50744
AlexandrR
2002-09-04 22:51
2002.09.16
DLL_PROCESS_DETACH / DLL_PROCESS_ATTACH


8-50874
max2057
2002-05-16 16:12
2002.09.16
Где взять библиотеки для разгребания содеерж-го MIDI