SQL*Plus Quick Start

简介:

SQL Plus 有自己的命令和环境,它提供对Oracle数据库的访问。它使您能够输入和执行SQL、sql、sql、SQL +和操作系统命令来执行以下操作:

格式化,执行查询结果的存储、打印和打印计算

检查表和对象定义

开发和运行批处理脚本

执行数据库管理

您可以使用sql Plus 以交互方式生成报告,以生成批处理过程报告,并将结果输出到文本文件、屏幕或HTML文件,以便在Internet上浏览。您可以使用sql +输出的HTML输出设备动态生成报表。
1.1SQLPlus Basics
SQL*Plus Quick Start
SQL*Plus Quick Start
SQL*Plus Quick Start
cl buff 执行后
SQL> /
SP2-0103: Nothing in SQL buffer to run.
SQL> a where TNAME='CDB_APPLY'
2* where TNAME='CDB_APPLY'
SQL> /

TNAME

TABTYPE CLUSTERID


CDB_APPLY
VIEW
SQL> select * from tab
2 where tname<>''
3 ;

no rows selected

SQL> list 2
2 where tname<>''
SQL> del 2
SQL> list
1 select 
from tab
2
SQL> select 
from scott.EMP
2 where EMPNO=7934
3 ;

 EMPNO ENAME      JOB              MGR HIREDATE                   SAL

  COMM     DEPTNO

  7934 MILLER     CLERK           7782 1982-01-23 00:00:00       1300
               10

SQL> list 2
2 where EMPNO=7934
SQL> change /7934/7902
2
 where EMPNO=7902
SQL> run
1 select from scott.EMP
2 where EMPNO=7902
3

 EMPNO ENAME      JOB              MGR HIREDATE                   SAL

  COMM     DEPTNO

  7902 FORD       ANALYST         7566 1981-12-03 00:00:00       3000
               20

REMARK, / /,--注释说明 
SQL> REMARK 测试
SQL> select from scott.EMP
2 remark 测试
3 where empno=7934;
remark 测试

ERROR at line 2:
ORA-00911: invalid character

SQL> / 测试
SQL> 
/
SQL> select from scott.EMP
2 /
测试
3 */
4 where empno=7934;

 EMPNO ENAME      JOB              MGR HIREDATE                   SAL

  COMM     DEPTNO

  7934 MILLER     CLERK           7782 1982-01-23 00:00:00       1300
               10

SQL> select * from scott.EMP
2 --测试
3 where empno=7934;

 EMPNO ENAME      JOB              MGR HIREDATE                   SAL

  COMM     DEPTNO

  7934 MILLER     CLERK           7782 1982-01-23 00:00:00       1300

SQL> SELECT &SORTCOL, job

2 FROM &MYTABLE
3 ;
Enter value for sortcol: ename
old 1: SELECT &SORTCOL, job
new 1: SELECT ename, job
Enter value for mytable: scott.emp
old 2: FROM &MYTABLE
new 2: FROM scott.emp

ENAME JOB


SMITH CLERK
ALLEN SALESMAN
WARD SALESMAN
JONES MANAGER
MARTIN SALESMAN
BLAKE MANAGER
CLARK MANAGER
KING PRESIDENT
TURNER SALESMAN
JAMES CLERK
FORD ANALYST

ENAME JOB


MILLER CLERK

12 rows selected.
SQL> define
DEFINE _DATE = "2017-12-16 14:29:31" (CHAR)
DEFINE _CONNECT_IDENTIFIER = "CLONEPDB_PLUG" (CHAR)
DEFINE _USER = "SYS" (CHAR)
DEFINE _PRIVILEGE = "AS SYSDBA" (CHAR)
DEFINE _SQLPLUS_RELEASE = "1102000100" (CHAR)
DEFINE _EDITOR = "Notepad" (CHAR)
DEFINE _O_VERSION = "Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production" (CHAR)
DEFINE _O_RELEASE = "1202000100" (CHAR)
SQL> DEFINE A = 7934
SQL> select ENAME,JOB
2 from scott.emp where empno=&A;
old 2: from scott.emp where empno=&A
new 2: from scott.emp where empno=7934

ENAME JOB


MILLER CLERK
SQL> unDEFINE A
SQL> variable a number;
SQL> print a;

     A

SQL> exec :a:=7934

PL/SQL procedure successfully completed.

SQL> select ENAME,JOB
2 from scott.emp where empno=:a;

ENAME JOB


MILLER CLERK
SET ECHO ON/OFF 控制是否在调用执行Script的时候显示其内容
SET VERIFY ON/OFF 决定是否在执行带有参数变量的Sql命令操作时,显示赋值代入的过程
SQL*Plus Quick Start
按回车继续
PROMPT Before continuing, make sure you have your account card.
PAUSE Press RETURN to continue.
清屏
CLEAR SCREEN

SQL> CLEAR column
columns cleared
SQL> CLEAR column
columns cleared
SQL> VARIABLE ret_val NUMBER
SQL> BEGIN
2 :ret_val:=4;
3 END;
4 /

PL/SQL procedure successfully completed.

SQL> PRINT RET_VAL

RET_VAL

     4

SQL> variable abc number
SQL> exec :abc :=123;

PL/SQL procedure successfully completed.

SQL> select :abc from dual;

  :ABC

   123           

SQL> create table mytab (col1 number, col2 varchar2(10));

Table created.
SQL> var xyz varchar2(10)
SQL> begin
2 :xyz :='test'
3 ;
4 end;
5 /

PL/SQL procedure successfully completed.

SQL> insert into mytab values(:abc,:xyz);

1 row created.

SQL> select * from mytab;

  COL1 COL2

   123 test

SQL> drop table mytab purge;

Table dropped.
SQL> alter session set container=pdbtest;

Session altered.
SQL> CREATE OR REPLACE PACKAGE EmpPack
2 AS
3 type EmpInfoTyp is ref cursor;
4 PROCEDURE EmpInfoRpt (emp_cv OUT EmpInfoTyp);
5 end EmpPack;
6 /

Package created.

SQL> CREATE OR REPLACE PACKAGE BODY EmpPack AS
2 PROCEDURE EmpInfoRpt (emp_cv OUT EmpInfoTyp) AS
3 BEGIN
4 OPEN emp_cv FOR SELECT EMPLOYEE_ID, SALARY
5 FROM HR.EMP_DETAILS_VIEW
6 WHERE JOB_ID='SA_MAN' ;
7 END;
SQL> VARIABLE cv REFCURSOR
SQL> EXECUTE EmpPack.EmpInfoRpt(:cv)

PL/SQL procedure successfully completed.

SQL> PRINT cv

EMPLOYEE_ID SALARY


    145      14000
    146      13500
    147      12000
    148      11000
    149      10500

8 END;
9 /

Package body created.
SQL> VARIABLE cv REFCURSOR
SQL> EXECUTE EmpPack.EmpInfoRpt(:cv)

PL/SQL procedure successfully completed.

SQL> PRINT cv

EMPLOYEE_ID SALARY

    145      14000
    146      13500
    147      12000
    148      11000
    149      10500

     本文转自whshurk 51CTO博客,原文链接:http://blog.51cto.com/shurk/2051248,如需转载请自行联系原作者






相关文章
|
7月前
|
SQL XML Java
Mybatis Plus自定义全局SQL注入
Mybatis Plus自定义全局SQL注入
225 0
|
5月前
|
SQL Java 数据库连接
idea中配置mybatis 映射文件模版及 mybatis plus 自定义sql
idea中配置mybatis 映射文件模版及 mybatis plus 自定义sql
103 3
|
6月前
|
SQL 分布式计算 大数据
MaxCompute操作报错合集之执行sql时,出现Cannot read properties of undefined (reading 'start')错误提示,该怎么办
MaxCompute是阿里云提供的大规模离线数据处理服务,用于大数据分析、挖掘和报表生成等场景。在使用MaxCompute进行数据处理时,可能会遇到各种操作报错。以下是一些常见的MaxCompute操作报错及其可能的原因与解决措施的合集。
182 0
|
7月前
|
SQL Oracle 关系型数据库
Oracle SQL*Plus的SET命令:你的数据库会话“调色板”
【4月更文挑战第19天】Oracle SQL*Plus的SET命令是数据库会话的“调色板”,用于设置输出格式、反馈信息和各种偏好。它能调整PAGESIZE和LINESIZE以优化显示,控制ECHO和FEEDBACK开关以定制反馈,以及统计命令执行时间(TIMING)和调试SQL(VERIFY)。更高级的选项如HEADING和COLSEP可改善输出的可读性。通过灵活运用SET命令,能提升工作效率和体验,是数据库管理员和开发者的必备工具。
|
7月前
|
SQL Oracle 关系型数据库
Oracle SQL*Plus的HELP命令:你的数据库“百事通”
【4月更文挑战第19天】`Oracle SQL*Plus` 的 `HELP` 命令是数据库查询的强大工具,犹如“百事通”。在遇到困惑时,`HELP` 可提供详细命令解释和用法示例,解答基础到高级的 SQL 和 PL/SQL 疑问。它还是“活字典”,揭示命令关联与区别,如 `SET` 和 `ALTER SESSION`。此外,`HELP` 解释数据库概念,如“事务”,并支持模糊查询。无论新手还是专家,`HELP` 都是数据库探索的得力助手。
|
SQL Oracle 关系型数据库
Oracle杂谈二 SQL*PLUS命令的使用大全
Oracle杂谈二 SQL*PLUS命令的使用大全
74 0
|
7月前
|
SQL Oracle 关系型数据库
Oracle SQL*Plus的TTITLE和BTITLE命令:为你的数据报告加上精美的“画框”
【4月更文挑战第19天】`SQL*Plus`的`TTITLE`和`BTITLE`命令用于为数据报告添加吸引人的标题和边框。
|
7月前
|
SQL Oracle 关系型数据库
Oracle SQL*Plus的COLUMN命令:数据展示的“化妆师”
【4月更文挑战第19天】Oracle SQL*Plus的COLUMN命令是数据展示的利器,能美化和格式化输出。它可定制列标题、调整显示格式(如数字的小数位数和日期格式),添加前缀和后缀(如货币符号),以及控制列宽和是否折行,使得数据呈现更直观、专业。利用COLUMN命令,能将原始数据转化为易于理解和视觉吸引力强的展示形式。
|
7月前
|
SQL Oracle 关系型数据库
Oracle SQL*Plus的SPOOL命令:数据库世界的“录像机”
【4月更文挑战第19天】`SQL*Plus`的`SPOOL`命令是Oracle数据库中的“录像机”,能记录所有操作和输出。它在用户开始“SPOOL ON”时启动,记录SQL查询、输出、错误信息等。完成后,“SPOOL OFF”停止记录并生成日志文件,便于回顾和检查。日志文件可自定义保存位置和命名,支持多文件录制,方便分类管理。无论数据分析、SQL脚本编写还是日常维护,`SPOOL`都是强大的工具,值得一试!
|
7月前
|
SQL Oracle 关系型数据库
Oracle SQL*Plus的DESCRIBE命令:数据结构的“侦探”
【4月更文挑战第19天】`DESCRIBE`命令是Oracle SQL*Plus中的明星工具,用于快速揭示数据结构。它能显示表或视图的列名、数据类型、长度和空值限制,帮助用户理解数据库对象详情。此命令对数据库设计、查询优化和故障排除至关重要,且支持描述视图和同义词。通过有效利用DESCRIBE提供的信息,可以提升SQL查询效率,优化表结构,成为数据管理的得力助手。