`
insertyou
  • 浏览: 906288 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

替代变量与SQL*Plus环境设置

 
阅读更多

--============================

-- 替代变量与SQL*Plus环境设置

--============================

1.SQLPL/SQL代码终止符

SQL代码以";"来表示代码的终止

PL/SQL代码以"."来表示代码的终止,以"/"表示代码的执行

scott@ORCL> select * from emp where empno=7788;

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO

---------- ---------- --------- ---------- --------- ---------- ---------- ----------

7788 SCOTT ANALYST 7566 19-APR-87 3100 20

scott@ORCL> declare v_ename varchar2(10);

2 begin

3 select ename into v_ename from emp where empno=7788;

4 dbms_output.put_line('Employee Name: '||v_ename);

5 exception

6 when no_data_found then

7 dbms_output.put_line('There is no employee');

8 end;

9 .

scott@ORCL> /

Employee Name: SCOTT

PL/SQL procedure successfully completed.

2.替代变量

&变量名、&&变量名

执行时,如果&变量名,没有赋值的话,会提示输入变量值

scott@ORCL> select * from emp where empno=&no;

Enter value for no: 7788

old 1: select * from emp where empno=&no

new 1: select * from emp where empno=7788

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO

---------- ---------- --------- ---------- --------- ---------- ---------- ----------

7788 SCOTT ANALYST 7566 19-APR-87 3100 20

scott@ORCL> save /u01/bk/scripts/select_empno.sql

Created file /u01/bk/scripts/select_empno.sql

scott@ORCL> @/u01/bk/scripts/select_empno.sql

Enter value for no: 7788

old 1: select * from emp where empno=&no

new 1: select * from emp where empno=7788

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO

---------- ---------- --------- ---------- --------- ---------- ---------- ----------

7788 SCOTT ANALYST 7566 19-APR-87 3100 20

set verify 的使用

scott@ORCL> set verify off --使用set verify off来关闭替代变量使用时的提示,即执行SQL语句前不显示使用的变量值

scott@ORCL> @/u01/bk/scripts/select_empno.sql

Enter value for no: 7788

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO

---------- ---------- --------- ---------- --------- ---------- ---------- ----------

7788 SCOTT ANALYST 7566 19-APR-87 3100 20

对于字符型和日期型数据,替代变量要加单引号( ' ' ),将变量括起来

select * from emp where job='&job'

&& 对输入变量的再次引用,同时会保存变量的值

scott@ORCL> set serveroutput on;

scott@ORCL> begin

2 dbms_output.put_line('The num is '||&&num); --使用双&&保存了变量num的值

3 dbms_output.put_line('The second num is '||&num); --因此第二次输出变量num也是

4 end;

5 /

Enter value for num: 10

The num is 10

The second num is 10

替代变量的设置

set define character --修改缺省的替代变量符号为其他符号,但不能使用数字和空格

set define on --启用替代变量

set define off --关闭替代变量

scott@ORCL> set define off

scott@ORCL> @/u01/bk/scripts/select_empno.sql

SP2-0552: Bind variable "NO" not declared.

3. DEFINE 定义变量

define job=SALESMAN

select * from emp where job='&job'

DEFINE 查看变量

define

define varname

ACCEPT 定义替代变量

格式:accept 变量名[prompt 正文][HIDE]

4.sql plus 环境设置

set 设置环境变量

set linesize 200

show 显示环境变量

show all

show linesize

sql plus 环境配置文件

配置文件:

$ORACLE_HOME/sqlplus/admin/glogin.sql

安装sql plus时创建的,卸载sql plus时会删除

用户配置文件:

文件名为login.sql,位置可任意放置,启动sql plus 时所在目录下有login.sql

就会按设置进行环境配置,否则其它目录下的login.sql不理采。

为了使用的方便一般会放到oracle用户的家目录

set echo @|start 运行脚本时,是否显示脚本内容

set echo on/off

scott@ORCL> set echo on;

scott@ORCL> @/u01/bk/scripts/select_empno.sql

scott@ORCL> select * from emp where empno=&no

2 /

Enter value for no: 7788

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO

---------- ---------- --------- ---------- --------- ---------- ---------- ----------

7788 SCOTT ANALYST 7566 19-APR-87 3100 20

scott@ORCL> set echo off;

set feedback 设置脚注

查询时返回多少行,会有提示,feedback控制提示显示

可以是ONOFFn自然数,默认为

set feedback on/off

set feedback 10

set heading {on/off} 控制是否显示列名

set linesize 设置每行字符数

set autocommit {on / off } 设置是否自动提交

set long {80 n} 设置查看长字符字段时的显示宽度

column 设置列格式

col ename format a15

通用的SQL*Plus环境变量设置

源自Tom大师:Expert Oracle Database Architecture: 9i and 10g Programming Techniques and Solutions

define _editor=vi

set serveroutput on size 1000000

set trimspool on

set long 5000

set linesize 180

set pagesize 9999

column plan_plus_exp format a80

column global_name new_value gname

set termout off

define gname=idle

column global_name new_value gname

select lower(user) || '@' || substr( global_name, 1,

decode( dot, 0, length(global_name), dot-1) ) global_name

from (select global_name, instr(global_name,'.') dot from global_name );

set sqlprompt '&gname> '

set termout on

5.更多参考

有关SQL请参考

SQLPlus常用命令

SQL 基础--> 子查询

SQL 基础-->多表查询

SQL基础-->分组与分组函数

SQL 基础-->常用函数

SQL 基础--> ROLLUP与CUBE运算符实现数据汇总

SQL基础-->层次化查询(START BY ... CONNECT BY PRIOR)

有关PL/SQL请参考

PL/SQL --> 语言基础

PL/SQL --> 函数

PL/SQL --> 异常处理

PL/SQL --> 存储过程

PL/SQL --> 流程控制

分享到:
评论

相关推荐

    大型数据库技术-实验二 Oracle SQL PLUS环境与查询.doc

    【大型数据库技术-实验二 Oracle SQL PLUS环境与查询】 实验主要涵盖了Oracle数据库系统中的SQL*PLUS工具的使用以及SQL查询语言的基本操作。SQL*PLUS是Oracle数据库管理系统的命令行界面,用于执行SQL语句和PL/SQL...

    Oracle_plsql讲义:第7章 替代变量和SQL-Plus环境.ppt

    Oracle_plsql讲义:第7章 替代变量和SQL-Plus环境.ppt

    SqlPlus语句格式--Oracle学习篇[汇编].pdf

    SQL*Plus也提供了一些高级功能,例如交互命令、替代变量、断点命令等。这些功能可以帮助用户更方便地执行复杂的操作和调试SQL语句。 在SQL*Plus中,用户可以使用各种命令来管理数据库对象,例如创建、删除、修改...

    oracle教程从入门到精通.doc

    * &命令:替代变量 * set命令:设置环境变量 三、Oracle用户管理 Oracle用户管理包括创立用户、修改密码、删除用户等方面。 * 创立用户:使用create user语句,具有dba权限才能使用 * 修改密码:使用password命令...

    Oracle8i_9i数据库基础

    - **Oracle SQL*PLUS**:是Oracle数据库的一种交互式工具,用于执行SQL语句、脚本文件,并查看其结果。SQL*PLUS支持多种操作系统环境。 ##### 1.1 关系数据库系统 (RDBMS) - **关系模型**:关系模型是基于关系数学...

    oralce基础知识借鉴.pdf

    6. **定义变量与替代变量**:默认情况下,"&"是替代变量的标志,但可以通过`SET DEFINE`命令来开启或关闭此功能,允许将包含"&"的字符串直接输入或赋值。 7. **注释**:在Oracle SQL中,`--`用于单行注释,`/* ... ...

    oracle10g入门到精通[整理].pdf

    - **环境变量**:可以设置和查看如`linesize`和`pagesize`等环境变量,影响输出格式。 5. **Oracle用户管理**: - **创建用户**:使用`create user 用户名 identified by 密码;`命令创建新用户,注意密码通常要求...

    isqlplus doc

    根据给定文件的内容,我们可以提取出以下关于Oracle...通过以上知识点的学习和应用,可以更加有效地利用Oracle的iSQL*Plus工具来执行SQL查询任务,定制环境,以及与用户进行交互,从而提升数据库管理和数据查询的效率。

    oracle课件

    9. **&**: 替代变量,即在执行时需要用户输入值的变量。 - **用法示例**: `select * from emp where job = '&job';` 10. **Set and Show**: 设置和显示环境变量,用于控制输出格式等。 - **用法示例**: - ...

    绝对好的 oracle pl/sql 编程

    要运行 PL/SQL 程序,通常需要使用 Oracle 提供的工具,如 SQL*Plus 或 Oracle SQL Developer。这些工具允许开发者编写、测试并部署 PL/SQL 代码。 #### 二、PL/SQL 块结构和组成元素 **2.1 PL/SQL 块** PL/SQL ...

    oracle10g教程

    - **其他环境参数**:如 `set show` 可查看和设置格式,长期保存设置可修改 `glogin.sql`。 5. **用户管理**: - **创建用户**:使用 `create user 用户名 identified by 密码`,通常需要 DBA 权限。 - **修改...

    韩顺平玩转Oracle实战教程笔记

    + &:可以替代变量的命令。 + edit:编辑指定 sql 脚本命令。 + spool:将 sql*plus 屏幕上的内容输出到指定文件中去的命令。 三、显示和设置环境变量 * linesize:设置显示行的宽度,默认是 80 个字符。 * ...

    【自整理】PL SQL 入门教程

    - **1.1 SQL与PL/SQL** - **1.1.1 什么是PL/SQL?** - PL/SQL是Oracle数据库的标准程序设计语言,它结合了SQL的数据操作能力和传统过程化语言的控制结构能力。 - **1.2 PL/SQL的优点或特征** - **1.2.1 有利于...

    Oracle sqlplus中的命令大全总结,提升sqlplus操作水平

    3. `SET VERIFY OFF`:关闭验证模式,使得在执行SQL语句时不会显示替代变量的值。 4. `SET FEEDBACK OFF`:不显示执行SQL语句后返回的行数信息。 5. `SET PAGESIZE 999`:设置每页显示的行数,999表示尽可能多的行...

    oracle教程从入门到精通参照.pdf

    * 替代变量命令:& * 编辑指定的 SQL 脚本命令:edit * 将 SQL*Plus 屏幕上的内容输出到指定文件中去命令:spool 五、显示和设置环境变量 显示和设置环境变量用于控制输出的各种格式,包括: * 设置显示行的宽度...

    PL/SQL 程序设计

    - **SQL*Plus**:Oracle的标准命令行工具,可用于编写和运行PL/SQL脚本。 - **Oracle Enterprise Manager (OEM)**:图形化界面工具,提供PL/SQL调试等功能。 - **PL/SQL Developer**:第三方工具,提供了更丰富的...

    oracle笔记

    - **退出sql*plus**:使用`exit`命令。 3. **文件操作命令**: - **运行SQL脚本**:`start`或`@`命令,如`sql>@ d:\a.sql`或`sql>start d:\a.sql`。 - **编辑SQL脚本**:`edit`命令,例如`sql>edit d:\a.sql`。 ...

    oracle之SQL优化

    - **SQL*Plus**:基本的数据库管理工具,可以用来运行SQL并查看执行计划。 - **Database Replay**:用于模拟生产环境,测试优化效果。 - **Automatic Workload Repository (AWR)**:收集性能数据,生成报告,辅助...

Global site tag (gtag.js) - Google Analytics