正在执行的SQL(SESSION_CMDSTR)
📄字数 723
👁️阅读量 加载中...
引入版本
v11.0.0
功能描述
SESSION_CMDSTR
用于查询当前节点正在执行的SQL语句。
参数属性
属性 | 属性值 |
---|---|
参数类型 | RESULTSET |
默认值 | - |
取值范围 | - |
影响范围 | 会话级 |
修改方式 | 不可修改 |
使用场景说明
- 结果集字段说明。
字段名 | 类型 | 说明 |
---|---|---|
THD_ID | INTEGER | 线程ID |
STATE | INTEGER | 线程状态 |
TRAN_ID | BIGINT | 事务ID |
SESS_ID | INTEGER | 会话ID |
USER | VARCHAR | 当前用户名 |
VISIT_T | DATETIME | 命令执行连接上的最后访问时间 |
SQL | VARCHAR | 当前执行的SQL字串 |
- 不返回当前线程正在执行的SQL语句。
示例
- 在会话1中,建表,块语句插入数据。
sql
-- session1: 查询当前会话ID
SQL> select userenv('SID');
+-------+
| EXPR1 |
+-------+
| 40 |
+-------+
(1 row)
Use time:0 ms.
CREATE TABLE tab_cmdstr(id INT,sp VARCHAR);
DECLARE
BEGIN
FOR I IN 1..1000000 LOOP
INSERT INTO tab_cmdstr VALUES(i,'sess_cmdstr'||i);
END LOOP;
END;
- 在会话2中,查询服务端正在执行的SQL
sql
-- session2:查询正在执行SQL
SQL> show session_cmdstr;
+--------+-------+---------+---------+--------+--------------------------+----------------------------------------------------+
| THD_ID | STATE | TRAN_ID | SESS_ID | USER | VISIT_T | SQL |
+--------+-------+---------+---------+--------+--------------------------+----------------------------------------------------+
| 55078 | 1 | 362755 | 40 | SYSDBA | 2025-06-27 09:39:12.000 | DECLARE +|
| | | | | | | BEGIN +|
| | | | | | | FOR I IN 1..1000000 LOOP +|
| | | | | | | INSERT INTO tab_cmdstr VALUES(i,'sess_cmdstr'||i);+|
| | | | | | | END LOOP; +|
| | | | | | | END; |
+--------+-------+---------+---------+--------+--------------------------+----------------------------------------------------+
(1 row)
Use time:0 ms.