sqlplus下不能执行批处理的原因
来源:互联网 发布:网络电视看电视节目 编辑:程序博客网 时间:2024/06/05 06:52
在pl/sql中可以正确的执行,但SQLPLUS执行不了的SQL批处理语句:
写了一个批量删除数据的批处理升级SQL语句upgrade_cbsparam.sql,如下:
DECLARE
V_LOGNUM NUMBER;
V_NEEDARC NUMBER;
BEGIN
SELECT count(1) INTO V_LOGNUM FROM V$LOG;
LOOP
LOOP
SELECT count(1) INTO V_NEEDARC FROM V$ARCHIVE;
IF V_NEEDARC < V_LOGNUM - 1 THEN
EXIT;
ELSE
DBMS_LOCK.SLEEP(60);
END IF;
END LOOP;
DELETE FROM sellcard where pkdate between to_date('2004-09-01 00:00:00','yyyy-mm-dd hh24:mi:ss') AND to_date('2004-09-01 23:59:59','yyyy-mm-dd hh24:mi:ss') AND rownum < 100;
IF SQL%ROWCOUNT = 0 THEN
EXIT;
END IF;
COMMIT;
END LOOP;
END;
以前语句在pl/sql中可以正确的执行,但在SQLPLUS中执行时却没有反应,在SQLPLUS中执行时现象如下:
SQL> @ upgrade_cbsparam.sql
24
25
26
27
28
输入@upgrade_cbsparam.sql后回车就会换到下一行并显示24,每一回车就会换到下一行,最后只能exit退出。
解决办法:在脚本的最后一行, 添加一个斜杠 / , 斜杠前面不要有任何字符^_^
DECLAREV_LOGNUM NUMBER;V_NEEDARC NUMBER;BEGIN SELECT count(1) INTO V_LOGNUM FROM V$LOG; LOOP LOOP SELECT count(1) INTO V_NEEDARC FROM V$ARCHIVE; IF V_NEEDARC < V_LOGNUM - 1 THEN EXIT; ELSE DBMS_LOCK.SLEEP(60); END IF; END LOOP; DELETE FROM sellcard where pkdate between to_date('2004-09-01 00:00:00','yyyy-mm-dd hh24:mi:ss') AND to_date('2004-09-01 23:59:59','yyyy-mm-dd hh24:mi:ss') AND rownum < 100; IF SQL%ROWCOUNT = 0 THEN EXIT; END IF; COMMIT; END LOOP;END;/这个斜杠才表明你要这行对应的 匿名块sql语句 , 没有这个斜杠语句会一直换行 换行 换行..
这个斜杠才表明你要这行对应的 匿名块sql语句 , 没有这个斜杠语句会一直换行 换行 换行....
- sqlplus下不能执行批处理的原因
- Mac本下Oracle InstantClient的安装(sqlplus命令不能执行的解决方案)
- 使用batch(批处理)执行文件夹下所有的sql script(脚本)并输出sqlplus内容至log文件
- Win7下oracle的sqlplus不能启动
- 不能频繁执行DBCC SHRINKDATABASE的原因
- scala脚本不能执行的原因
- JSon不能执行回调函数的原因
- ORACLE JOB不能按预期执行的常见原因
- crontab不能成功执行shell脚本的可能原因
- DriverManager.registerDriver(new Driver())不能执行的原因
- crontab不能正常执行的五种原因
- win7下oracle(sqlplus)不能登录
- Jdbc的批处理执行
- 批处理执行当前文件夹下的可执行jar文件
- sqlplus下注释导致语句重复执行
- sqlplus下查看执行计划报错
- sqlplus不能初始化以及sqlplus自动关闭的问题
- OpenFileDialog打开远程路径后Process.Start的问题,批处理不能执行的问题的解决办法
- 利用SuggestFrameWork开发类似Google搜索提示效果
- JAVA处理日期时间常用方法:
- 关于 short s1 = 1; s1 = s1 + 1;为什么错,错在哪?
- jquery getJson 中文字符参数乱码问题
- Week 1: Idea and Kickoff
- sqlplus下不能执行批处理的原因
- 树形控件,下拉框,listbox的用法
- 查询Oracle中 date类型, 没有 时分秒
- JAVA [ 多线程 -- 生产者消费者 ]
- SQL添加事务
- 如何用Git和Repo获取Android源码
- ubuntu 开启ip包转发做网关与nat的设置
- listbox的使用
- 递归排序法