CREATE OR REPLACE PROCEDURE SP_KILL_SESSION
AS
V_DATE VARCHAR2(11);
V_SID NUMBER;
V_SERIAL# NUMBER;
v_mm varchar2(40);
CURSOR CUR_KILL_SESSION IS
SELECT SID,SERIAL# FROM V$SESSION
WHERE TO_CHAR(LOGON_TIME,'YYYY/MM/DD') LIKE V_DATE;
BEGIN
SELECT TO_CHAR(SYSDATE - 1,'YYYY/MM/DD') into V_DATE FROM DUAL;
OPEN CUR_KILL_SESSION;
LOOP
FETCH CUR_KILL_SESSION INTO V_SID,V_SERIAL#;
EXIT WHEN CUR_KILL_SESSION%NOTFOUND;
v_mm:=to_char(v_sid)||','||to_char(v_serial#);
if v_mm is not null or v_mm<>'' then
ALTER SYSTEM KILL SESSION 'v_mm';
end if;
END LOOP;
CLOSE CUR_KILL_SESSION;END;
AS
V_DATE VARCHAR2(11);
V_SID NUMBER;
V_SERIAL# NUMBER;
v_mm varchar2(40);
CURSOR CUR_KILL_SESSION IS
SELECT SID,SERIAL# FROM V$SESSION
WHERE TO_CHAR(LOGON_TIME,'YYYY/MM/DD') LIKE V_DATE;
BEGIN
SELECT TO_CHAR(SYSDATE - 1,'YYYY/MM/DD') into V_DATE FROM DUAL;
OPEN CUR_KILL_SESSION;
LOOP
FETCH CUR_KILL_SESSION INTO V_SID,V_SERIAL#;
EXIT WHEN CUR_KILL_SESSION%NOTFOUND;
v_mm:=to_char(v_sid)||','||to_char(v_serial#);
if v_mm is not null or v_mm<>'' then
ALTER SYSTEM KILL SESSION 'v_mm';
end if;
END LOOP;
CLOSE CUR_KILL_SESSION;END;
解决方案 »
- 求解决一个本人没有涉及过的SQL问题,欢迎抢答!!!
- 请教关于Oracle通过透明网关访问Sybase的字符集设置问题?
- 知道所有的叶子结点,如何找到拥有这些叶子的全部的树
- plsql 提交表单数据check急急急
- 删除一个表后出现BIN$开头表怎么彻底删除掉?DTS导数据怎么会出现同名表?(大小写不一样),日志怎么删除缩小?
- 登陆oracle出现如下问题.怎么解决?
- [急在线]:ORACLE怎么开始一个事务,提交,会滚的格式如何,谢谢!!
- 关于数据库设计的问题(觅高手!)
- 关于字符集
- 如果创建一个新的用户,对表进行CRUD应该赋予他什么角色?
- 有谁知道在微机上编译 Pro*c程序的事????????
- 中秋节机房内求救:Oracle初始化参数调整的文件问题!!!!!
看一下是哪一行吧。
ALTER SYSTEM KILL SESSION 'v_mm';
----------------------------
declare
string varchar2(1000);
begin
string:='alter................';
execute immediate string;
end;
AS
v_date VARCHAR2(11);
v_sid NUMBER;
v_serial# NUMBER;
v_mm VARCHAR2(40);
sql_stmt VARCHAR2(200);
CURSOR cur_kill_session(v_date1 VARCHAR2) IS
SELECT sid,serial#
FROM v$session
WHERE TO_CHAR(logon_time,'YYYY/MM/DD')=v_date1;
BEGIN
SELECT TO_CHAR(SYSDATE-1,'YYYY/MM/DD') into v_date FROM DUAL;
OPEN CUR_KILL_SESSION(v_date);
LOOP
FETCH CUR_KILL_SESSION INTO V_SID,V_SERIAL#;
EXIT WHEN CUR_KILL_SESSION%NOTFOUND;
sql_stmt := 'ALTER SYSTEM KILL SESSION '||CHR(39)||v_sid||','||v_serial#||CHR(39);
EXECUTE IMMEDIATE sql_stmt;
END LOOP;
CLOSE CUR_KILL_SESSION;
END;
/