我必须编写一个应该执行以下任务的查询
select SID from v$session where username = 'some user'
如果该特定用户名有任何SID,则使用以下命令终止该SID:
alter system kill session 'sid';
我目前的情况如下:
alter system kill session
where sid = select sid from v$session where username = 'some user'
当该用户名
没有特定的sid时,此查询失败查询必须不会使用大括号'{'或'}'
查询应该只是单行查询,没有多行查询。
数据库是ORACLE10g
有什么建议吗?
答案 0 :(得分:6)
我通常做的是:
select 'alter system kill session '''||sid||','||serial#||''';'
from v$session
where username = 'someuser';
这将返回如下结果:
alter system kill session '11,222';
alter system kill session '22,444';
然后我只是复制并粘贴我想要执行的结果。
没有花括号(怎么会有?),但我不确定它是否符合你的单行规则。