# SEQUENCE SEQUENCE 算子用于计算伪列 SEQUENCE 的值。 伪列 SEQUENCE 是由`CREATE SEQUENCE`创建的序列,下层算子每输出一行执行一次计算。 示例:计算伪列 SEQUENCE 的当前值与下一个值 ~~~ obclient>CREATE TABLE t1(c1 INT, c2 INT); Query OK, 0 rows affected (0.09 sec) obclient>CREATE TABLE t2(c1 INT, c2 INT); Query OK, 0 rows affected (0.09 sec) obclient>CREATE SEQUENCE seq INCREMENT BY 1 START WITH 1; Query OK, 0 rows affected (0.09 sec) obclient>EXPLAIN SELECT seq.NEXTVAL, seq.CURRVAL FROM t1\G; *************************** 1. row *************************** Query Plan: |===================================== |ID|OPERATOR |NAME|EST. ROWS|COST | ------------------------------------- |0 |SEQUENCE | |100000 |77868| |1 | TABLE SCAN|T1 |100000 |64066| ===================================== Outputs & filters: ------------------------------------- 0 - output([SEQ.NEXTVAL], [SEQ.CURRVAL]), filter(nil) 1 - output([T1.__pk_increment]), filter(nil), access([T1.__pk_increment]), partitions(p0) ~~~ 上述示例中,执行计划展示中 0 号算子 SEQUENCE 用来计算序列的值,`output([SEQ.NEXTVAL],[SEQ.CURRVAL]`指定了 SEQUENCE 需要计算序列的当前值与下一个值。t1 表每输出一行数据,SEQUENCE 就会计算一次序列的值。执行计划展示中 outputs & filters 详细列出了 SEQUENCE 算子的输出信息如下: <table data-tag="table" id="table-nr4-bac-a25" class="table"><colgroup span="1" width="139" data-tag="col" id="col-6rq-043-tlc" colwidth="1*" colnum="1" colname="col1" style="width:50%" class="col"></colgroup><colgroup span="1" width="609" data-tag="col" id="col-cdd-rwp-i1x" colwidth="1*" colnum="2" colname="col2" style="width:50%" class="col"></colgroup><thead id="thead-d4m-5jh-r1f" class="thead"><tr id="tr-5mj-1vz-m3a"><th id="td-rcc-qpm-0le"><p id="p-45d-xhb-g20"><b>信息名称</b></p></th><th id="td-esd-snn-qja"><p id="p-ca2-5m1-rtb"><b>含义</b></p></th></tr></thead><tbody data-tag="tbody" id="tbody-1e1-h5a-2c0" class="tbody"><tr data-tag="tr" id="tr-3c5-alf-mjn" class="tr"><td data-tag="td" id="td-fdz-wzq-3j2" class="td"><p id="p-1vt-829-s5p">output</p></td><td data-tag="td" id="td-3w2-ijr-57t" class="td"><p id="p-dzj-7qx-lym">该算子输出的列。</p><p id="p-cxt-nra-2m0">SEQUENCE 算子参数信息如下:</p><ul id="ul-x5o-zpr-99k"><li id="li-aqx-ab4-hwl"><p id="p-0nf-xsu-z33">CURRVAl:计算序列的当前值。</p></li><li id="li-983-anr-jlh"><p id="p-0hz-0ip-8t3">NEXTVAL:计算序列的下一个值。</p></li></ul></td></tr><tr data-tag="tr" id="tr-98f-q7q-ssm" class="tr"><td data-tag="td" id="td-fyt-ugi-dqg" class="td"><p id="p-a44-lti-png">filter</p></td><td data-tag="td" id="td-s40-1bw-xjr" class="td"><p id="p-euc-w8l-csi">该算子上的过滤条件。</p><p id="p-vhm-4cz-bo3">由于示例中的 SEQUENCE 算子没有设置 filter,所以为 nil。</p></td></tr></tbody></table>