在Oracle中,PLSQL可以在会话中设置属性(CLIENT_INFO
(。这允许它在会话对象和正在运行的包/存储过程之间建立链接。要执行此操作的程序包是DBMS_APPLICATION_INFO
程序包
因此,在客户端会话中执行:
exec DBMS_APPLICATION_INFO.SET_CLIENT_INFO('hello stackoverflow');
允许它在管理会话视图中查看:
select sid, logon_time, client_info
from v$session
where client_info like '%stack%' ;
SID LOGON_TIME CLIENT_INFO
---------- ------------------- ----------------------------------------------------------------
2549 2022-10-13 20:39:42 hello stackoverflow
是否有可通过T-SQL使用的等效SQL Server?
SQL Server中的等效程序是:
declare @ctx varbinary(128) = cast( 'hello stackoverflow' as varbinary(128))
SET CONTEXT_INFO @ctx
go
select s.session_id, connect_time, cast(context_info as varchar(128)) context_info
from sys.dm_exec_sessions s
join sys.dm_exec_connections c
on s.session_id = c.session_id
where cast(context_info as varchar(128)) like '%stack%'