일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
29 | 30 | 31 |
- MSSQL보안
- instr
- 인젝션
- sql업데이트
- inner join
- array
- injection
- VarType
- 한글입력체크
- SPLIT
- 자바기초
- tempDB
- update
- FileSystemObject
- join
- wap
- 이미지가로길이
- asp함수
- WML
- ERD
- 이미지세로길이
- 정규식
- VARIABLE
- sql랭킹
- javascript 한글입력체크
- JavaScript
- sql순위
- XML
- jdbc driver
- xmldom
- Today
- Total
3초기억력
설정된 몇초마다 프로시저 실행 본문
제목 : 설정된 몇초마다 프로시저 실행
소스 :
-- create a table to store the results of some dummy procedure
create table Activity (
InvokeTime datetime not null default getdate()
, data float not null);
go
-- create a dummy procedure
create procedure createSomeActivity
as
begin
insert into Activity (data) values (rand());
end
go
-- set up the queue for activation
create queue Timers;
create service Timers on queue Timers ([DEFAULT]);
go
-- the activated procedure
create procedure ActivatedTimers
as
begin
declare @mt sysname, @h uniqueidentifier;
begin transaction;
receive top (1)
@mt = message_type_name
, @h = conversation_handle
from Timers;
if @@rowcount = 0
begin
commit transaction;
return;
end
if @mt in (N'http://schemas.microsoft.com/SQL/ServiceBroker/Error'
, N'http://schemas.microsoft.com/SQL/ServiceBroker/EndDialog')
begin
end conversation @h;
end
else if @mt = N'http://schemas.microsoft.com/SQL/ServiceBroker/DialogTimer'
begin
exec createSomeActivity;
-- set a new timer after 2s
begin conversation timer (@h) timeout = 2;
end
commit
end
go
-- attach the activated procedure to the queue
alter queue Timers with activation (
status = on
, max_queue_readers = 1
, execute as owner
, procedure_name = ActivatedTimers);
go
-- seed a conversation to start activating every 2s
declare @h uniqueidentifier;
begin dialog conversation @h
from service [Timers]
to service N'Timers', N'current database'
with encryption = off;
begin conversation timer (@h) timeout = 1;
-- wait 15 seconds
waitfor delay '00:00:15';
-- end the conversation, will stop activating
end conversation @h;
go
-- check that the procedure executed
select * from Activity;
내용 :
queue 이해
wait for 이해
예제 소스 파일 :
'쿼리_MSSQL' 카테고리의 다른 글
ms-sql 랜덤숫자. 1~999까지 사이의 랜덤 추출 (2) | 2016.02.23 |
---|---|
ms-sql - SQL Server 에이전트(Agent XPs) 실행이 안될시 쿼리문 (0) | 2015.11.19 |
ms-sql 현재시간과 입력시간과의 차이점 일/시/분/초 추출 쿼리문 (0) | 2015.05.21 |
MicroSoft SQL Server Management Studio 쿼리 정렬 프로그램 (0) | 2015.02.12 |
MS-SQL DB별 파일 자동증가 옵션 정리 쿼리문 (0) | 2014.06.26 |