sqlplus执行有空行的SQL语句
2016-04-18 11:12
148 查看
1.1 SQL语句有空行,无法在PLSQL中执行
拷贝有空行的SQL语句到PLSQL或者SQL*PLUS中执行报错。
1.1.1 现象描述
XX报表系统在安装时,需要从文本编辑工具中拷贝SQL语句到PLSQL中执行,在PLSQL的执行窗口中,会出现空行,比如下面的脚本:
CREATE OR REPLACE VIEW v_userlog
AS
SELECT
logid, --日志编号
logtime, --操作时间
phonenumber, --用户号码
servicetype, --业务类型
operatetype,
olditem, --修改前状态
newitem, --修改后状态
admincode , --客服帐号
reasoncode , --原因编号
reason, --原因名称
operator, --操作来源
oldttlid,
newttlid
FROM t_userlog;
如果拷贝到PLSQL或者SQL*PLUS中执行, 就会出现错误:
SQL>
FROM t_userlog
ORA-00900: 无效 SQL 语句
SQL>
1.1.2 原因分析
根据报错信息来看,是由于SQL语句中的空行引起的。空行的出现可能是由于在某些文本编辑工具中自动加入不可见的换行字符引起的。
1.1.3 处理过程
1、 本可以通过删除空行的方法来解决,但报表系统中SQL语句何止千行,所以手工删除的方法实不可取。
2、 使用SQLBLANKLINES参数,即可接受SQL语句中的空行,进而解决此问题:
SQL> SET SQLBLANKLINES ON
SQL>
CREATE OR REPLACE VIEW v_userlog
AS
SELECT
logid, --日志编号
logtime, --操作时间
phonenumber, --用户号码
servicetype, --业务类型
operatetype,
olditem, --修改前状态
newitem, --修改后状态
admincode , --客服帐号
reasoncode , --原因编号
reason, --原因名称
operator, --操作来源
oldttlid,
newttlid
FROM t_userlog;
SQL>
View created
SQL>
拷贝有空行的SQL语句到PLSQL或者SQL*PLUS中执行报错。
1.1.1 现象描述
XX报表系统在安装时,需要从文本编辑工具中拷贝SQL语句到PLSQL中执行,在PLSQL的执行窗口中,会出现空行,比如下面的脚本:
CREATE OR REPLACE VIEW v_userlog
AS
SELECT
logid, --日志编号
logtime, --操作时间
phonenumber, --用户号码
servicetype, --业务类型
operatetype,
olditem, --修改前状态
newitem, --修改后状态
admincode , --客服帐号
reasoncode , --原因编号
reason, --原因名称
operator, --操作来源
oldttlid,
newttlid
FROM t_userlog;
如果拷贝到PLSQL或者SQL*PLUS中执行, 就会出现错误:
SQL>
FROM t_userlog
ORA-00900: 无效 SQL 语句
SQL>
1.1.2 原因分析
根据报错信息来看,是由于SQL语句中的空行引起的。空行的出现可能是由于在某些文本编辑工具中自动加入不可见的换行字符引起的。
1.1.3 处理过程
1、 本可以通过删除空行的方法来解决,但报表系统中SQL语句何止千行,所以手工删除的方法实不可取。
2、 使用SQLBLANKLINES参数,即可接受SQL语句中的空行,进而解决此问题:
SQL> SET SQLBLANKLINES ON
SQL>
CREATE OR REPLACE VIEW v_userlog
AS
SELECT
logid, --日志编号
logtime, --操作时间
phonenumber, --用户号码
servicetype, --业务类型
operatetype,
olditem, --修改前状态
newitem, --修改后状态
admincode , --客服帐号
reasoncode , --原因编号
reason, --原因名称
operator, --操作来源
oldttlid,
newttlid
FROM t_userlog;
SQL>
View created
SQL>
相关文章推荐
- MongoDB实现基于关键词的文章检索功能(C#版)
- Navicat for MySQL使用手记
- lost connection to MySQL server at waiting for initial communication packet,system error:o
- 数据库隔离级别
- 如何配置远程mysql服务器
- mysql索引
- 【redis学习】Redis数据库入门
- oracle后台进程杀掉会怎么样
- mysql+C#实战二:获取数据库构架信息
- hibernate配合mysql时字段名不加反引号(`)解决方案
- 数据库设计
- Mysql登录异常的一个问题:
- MySQL命令行简介
- Sql SERVER作业
- MySQL各版本的区别
- 电子商城开发之目录与数据库表的创建
- 对sqlite的使用做一下简单的汇总。
- SQL分页
- 如何对memcache的数据(key-value)进行遍历操作
- 如何查看SQL SERVER数据库当前连接数