EXECUTE DBMS_AQADM.CREATE_QUEUE_TABLE(
Queue_table => '&1'||'.MARK_APPLY_QUEUE_TAB',
Queue_payload_type => '&1'||'.MARK_TYPE_EVENT',
storage_clause => 'PCTFREE 10 PCTUSED 40 INITRANS 32 MAXTRANS 255 TABLESPACE MARK_'||'&1'||'_DATA00',
Sort_list => 'ENQ_TIME',
Message_grouping => 1,
Compatible => '8.1.3');
EXECUTE DBMS_AQADM.CREATE_QUEUE(
Queue_name => '&1'||'.MARK_APPLY_QUEUE',
Queue_table => '&1'||'.MARK_APPLY_QUEUE_TAB',
Queue_type => 0,
Max_retries => 5,
Retry_delay => 0,
dependency_tracking => FALSE);
EXECUTE dbms_aqadm.start_queue (
queue_name => '&1'||'.MARK_APPLY_QUEUE',
enqueue => TRUE ,
dequeue => TRUE);
create or replace
TYPE "MARK_TYPE_EVENT"
AS
OBJECT
(
ACCT_ID VARCHAR2(32),
SECURITY_ID VARCHAR2(32),
EVENT_CODE VARCHAR2(4),
EVENT_TIME TIMESTAMP );
sql_code NUMBER;
sql_msg VARCHAR2(132);
queue_options DBMS_AQ.DEQUEUE_OPTIONS_T;
message_properties DBMS_AQ.MESSAGE_PROPERTIES_T;
message_id RAW(16);
event MARK_TYPE_EVENT;
rid varchar2(20);
no_messages exception;
PRAGMA EXCEPTION_INIT (no_messages, -25228);
DBMS_AQ.DEQUEUE(
queue_name => 'MARK_APPLY_QUEUE',
dequeue_options => queue_options,
message_properties => message_properties,
payload => event,
msgid => message_id);
ACCT_ID := event.acct_id;
SECURITY_ID :=event.security_id;
EVENT_CODE := event.event_code;
EVENT_TIME := event.event_time;
MSG_ID := RAWTOHEX(message_id);
分享到:
相关推荐
Oracle Advanced Queue(AQ)是Oracle数据库提供的一种高级消息队列技术,它允许应用程序进行异步通信,实现事件驱动的架构。ODP.NET是Oracle Data Provider for .NET,它是一个专门用于.NET Framework的数据访问...
本文将深入探讨jQuery中的队列控制方法`queue()`、`dequeue()`和`clearQueue()`,帮助你更好地理解和运用这些功能。 ### jQuery队列介绍 jQuery的队列主要用于管理和执行一系列同步或异步操作,特别是与动画相关的...
Dequeue 操作可以与 Enqueue 操作结合使用,以实现消息的异步传递。 Oracle AQ 是一个功能强大且灵活的消息队列系统,广泛应用于企业级应用中。通过这个实例,我们了解了 AQ 的安装、配置、Payload Type、Queue ...
var queue = new Queue ( ) ; queue . enqueue ( 'bird' ) ; queue . enqueue ( 'cat' ) ; queue . enqueue ( 'dog' ) ; queue . dequeue ( ) // 'bird' queue . dequeue ( ) // 'cat' queue . dequeue ( ) // 'dog'...
void Enqueue(Queue* q, int item); int Dequeue(Queue* q); int Front(Queue* q); int IsEmpty(Queue* q); int IsFull(Queue* q); void QueueDestroy(Queue* q); ``` `queue.c` 文件则包含这些函数的具体实现。...
`ConcurrentQueue<T>`是线程安全的,这意味着在队列上执行的插入(Enqueue)和删除(Dequeue)操作都是原子的,不会因为多线程竞争条件导致数据不一致。它采用了锁-free和自旋-wait算法来实现这些操作,确保了高并发...
queue.Enqueue(Time.time.ToString()); // 向队列末尾添加当前时间戳的字符串表示 print("a" + Time.time); } void InsertTime2() { queue.Enqueue(Time.time.ToString()); // 向队列末尾添加当前时间戳的...
Oracle Universal Work Queue 实施指南是Oracle公司为11i版本提供的一份详细文档,旨在帮助用户和管理员有效地部署和管理这个工作队列系统。Oracle Universal Work Queue(UWQ)是一个核心组件,它在Oracle应用中...
InitQueue函数用于初始化队列,QueueEmpty函数用于判断队列是否为空,GetHead函数用于取队头元素,QueueLength函数用于求队长,EnQueue函数用于入队,DeQueue函数用于出队。 2. 杨辉三角的生成 杨辉三角是一种特殊...
在C++编程语言中,`Queue`是一种常用的数据结构,它遵循“先进先出”(First In First Out, FIFO)的原则。通常,C++标准库提供了`<queue>`头文件来实现基本的队列操作,但这个标准队列并没有设置上限。在某些特定...
Unity Queue操作实例
void enqueue(CircularQueue *q, int item) { if (is_full(q)) { printf("Queue is full!\n"); return; } q->rear = (q->rear + 1) % MAX_SIZE; q->data[q->rear] = item; if (is_empty(q)) { q->front = q-...
相似队列 使用堆栈数组结构进行排队。 堆栈可以Like Queue ,因此称为Like Queue 。 它具有以与堆栈相同的速度运行的特性。 虽然速度很快,但实际数据不会被删除,因此请注意使用。... dequeue ( ) ;
Oracle Universal Work Queue (UWQ) 是Oracle公司提供的一款企业级工作流管理工具,用于处理和协调业务流程中的任务分配和执行。在Oracle 11i版本中,它旨在提高工作效率,通过集中化的工作队列管理和自动化的工作...
INE出品的SDN视频教程
C语言头文件 QUEUE.HC语言头文件 QUEUE.HC语言头文件 QUEUE.HC语言头文件 QUEUE.HC语言头文件 QUEUE.HC语言头文件 QUEUE.HC语言头文件 QUEUE.HC语言头文件 QUEUE.HC语言头文件 QUEUE.HC语言头文件 QUEUE.HC语言...
由链表实现的入enqueue和dequeue操作具有O(1)时间复杂性,比Array.prototype.shift花费O(n)更快。 用法 npm install -D tiny-linked-queue const Qeueue = require ( 'tiny-linked-queue' ) const q = new ...
queue.Enqueue(str); Console.WriteLine("入队列-{0}", str); } ``` 接下来,我们创建一个新的线程来处理队列中的数据。线程是操作系统分配CPU时间的基本单位,多线程可以提高程序的执行效率,特别是在处理大量...