l ; 提示上次输入的sql 内容 如果去掉; sqlplus

Information in this document applies to any platform.

SYMPTOMS

You have a script that contains a SQL statement with two semicolons (;) at the end. Executing this script in SQL*Plus 8.0.6 shows only the queried records in the spooled output file. However, with SQL*Plus 10.2.x and higher, the spool output contains the actual SQL statement in addition to the queried records.

For Example:

Your script (call it mysql.sql) has the following code:

Select 'x' from dual;

;

Executing this script in SQL*Plus 10.2.x and higher yields output:

SQL> @mysql.sql

'

x

1* Select 'x' from dual

This includes the actual SQL statement, thus corrupting spooled output for further processing.

This was not seen in SQL*Plus 8.0.6 sqlplus. The output from SQL*Plus 8.0.6 yielded:

SQL> @mysql.sql

'

x

CHANGES

This is seen after migrating scripts from SQL*Plus 8.0.6 (usually part of E-Business Suite) to SQL*Plus 10.2.x and higher.

CAUSE

By Default, the semicolon ';' used as "Only character" on a line is interpreted as "show content of buffer". Buffer usually contains last executed SQL statement, thus it shows the SQL statement of the same script.

SOLUTION

To change behavior of ";" from "show buffer", you must set it as a Block terminator.

For Example, you set the following for BLOCKTERMINATOR in your SQL*Plus environment:

set blockterminator ';'

If it is required at script level, the script could be modified as:

set blockterminator ';'

select 'x' from dual;

;

set blockterminator off

相关推荐
Hello World呀7 小时前
oracle查询当前用户所有字段和表
数据库·oracle
ssauuuuuu7 小时前
Oracle高级语法篇-merge into语句
数据库·oracle
阿康Obliviate10 小时前
Oracle数据库和PLSQL安装配置
数据库·oracle
小李学不完1 天前
Oracle--SQL基本语法
数据库·sql·oracle
IvanCodes1 天前
MySQL 视图
android·数据库·sql·mysql·oracle
江沉晚呤时1 天前
如何在 .NET 环境中使用 Npgsql 驱动连接 KaiwuDB
数据库·sql·oracle
HtwHUAT1 天前
十、数据库day02--SQL语句01
数据库·sql·mysql·oracle
听雪楼主.1 天前
Oracle 12.1.0.2补丁安装全流程
数据库·oracle
ssauuuuuu1 天前
PLSQL语法入门--PL/SQL 基础详解
数据库·sql·oracle
ALe要立志成为web糕手2 天前
SQL预编译——预编译真的能完美防御SQL注入吗
数据库·sql·web安全·网络安全·oracle