• SQL语句、PL/SQL块和SQL*Plus命令之间的区别


    SQL语句、PL/SQL块和SQL*Plus命令之间的区别

     

    原文链接:https://blog.csdn.net/liuzhushiqiang/article/details/12320941  

    SQL*Plus中可以处理三种类型的命令:SQL语句PL/SQL块SQL*Plus命令,但三者之间是有区别的。

    1)SQL语句以数据库为操作对象的语言,主要包括数据定义语言DDL数据操纵语言DML数据控制语言DCL以及数据存储语言DSL。当输入SQL语句后,SQL*Plus将其保存在内部缓冲区中
      当SQL命令输入完毕时,有三种方法可以结束SQL命令在命令行的末尾输入分号(;)并按回车在单独一行上用斜杠(/)或用空行表示。 
    2)PL/SQL块同样是以数据库中的数据为操作对象。但由于SQL不具备过程控制功能,所以,为了能够与其他语言一样具备面向过程的处理功能,在SQL中加入了诸如循环、选择等面向过程的处理功能,由此形成了PL/SQL。所有PL/SQL语句的解释均由PL/SQL引擎来完成。使用PL/SQL块可编写过程、触发器和包等数据库永久对象
    3)SQL*Plus命令主要用来格式化查询结果、设置选择、编辑及存储SQL命令、以设置查询结果的显示格式,并且可以设置环境选项

      eg:accept 、 prompt 

    pl/sql 是oracle的一门语言,它包括标准SQL,oracle扩展SQL,oracle自定义函数,存储过程,触发器,包... 
    而sql*plus是运行解释pl/sql的程序,你可以在sql*plus里运行sql语句。 
    --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    打个比方 
    pl/sql -> C++语言 
    sql*plus -> Microsoft Visual C++ 6.0编译器

    pl/sql 是oracle的扩展SQL后的语言,它包括标准SQL,oracle扩展SQL,oracle自定义函数,存储过程,触发器,包... 
    而sql*plus是运行解释pl/sql的程序,你可以在sql*plus里运行sql语句,是实现用户对数据库系统进行管理的一种工具!

    SQL是一种结构化查询语言,所有的数据库查询都是这种语言。 
    而T-SQL即:Transact-SQL是对上述语言的一种再加工,使之更加完美,实用。 
    例如:oracle和sqlserver的语言就有所不一样。

    SQL是一种结构化查询语言,相当于一个标准,T-SQL是其中的一种,可移植性不高。

    SQL是标准,但各个厂商可能对标准加工加入自己的函数、类型等等。
    比如MS 的T-SQL ORACLE的PL/SQL

    --sqlplus中accept变量和prompt文本:
    
    SQL> set serveroutput on
    SQL> accept num prompt '请输入一个数字';
    请输入一个数字6
    SQL> declare
      2  pnum number:=#
      3  begin
      4  if pnum = 0 then dbms_output.put_line('你输入的是0');
      5  elsif pnum = 1 then dbms_output.put_line('你输入的是1');
      6  else dbms_output.put_line('你输入的是其他数字');
      7  end if;
      8  end;
      9  /--必须以/、空行结束
    old   2: pnum number:=#
    new   2: pnum number:=6;
    ??????????????????
    
    PL/SQL procedure successfully completed.
    
    SQL>

    在navicat下使用sqlplus:

    1.在navicat for oracle客户端中安装sqlplus,先下载windowns all的sqlplus,basic+sqlplus;

    2.navicat for oracle客户端->工具->命令列界面->选择sqlplus安装目录的sqlplus.exe打开,即可进行sqlplus语句了。

    以指定格式显示:

    --修改session中的编码格式:
    SQL> ALTER SESSION SET NLS_LANGUAGE= 'SIMPLIFIED CHINESE';
    --执行参数和值的显示格式
    SQL> col PARAMETER format a30;
    SQL>  col VALUE format a30;
    SQL> select * from v$NLS_PARAMETERS;
    
    PARAMETER                      VALUE
    ------------------------------ ------------------------------
    NLS_LANGUAGE                   AMERICAN
    NLS_TERRITORY                  AMERICA
    NLS_CURRENCY                   $
    NLS_ISO_CURRENCY               AMERICA
    NLS_NUMERIC_CHARACTERS         .,
    NLS_CALENDAR                   GREGORIAN
    NLS_DATE_FORMAT                DD-MON-RR
    NLS_DATE_LANGUAGE              AMERICAN
    NLS_CHARACTERSET               AL32UTF8
    NLS_SORT                       BINARY
    NLS_TIME_FORMAT                HH.MI.SSXFF AM
    
    PARAMETER                      VALUE
    ------------------------------ ------------------------------
    NLS_TIMESTAMP_FORMAT           DD-MON-RR HH.MI.SSXFF AM
    NLS_TIME_TZ_FORMAT             HH.MI.SSXFF AM TZR
    NLS_TIMESTAMP_TZ_FORMAT        DD-MON-RR HH.MI.SSXFF AM TZR
    NLS_DUAL_CURRENCY              $
    NLS_NCHAR_CHARACTERSET         AL16UTF16
    NLS_COMP                       BINARY
    NLS_LENGTH_SEMANTICS           BYTE
    NLS_NCHAR_CONV_EXCP            FALSE
    
    19 rows selected.
  • 相关阅读:
    通讯录排序(c++)
    常用头文件的可调用函数的归类笔记
    常用头文件的可调用函数的归类笔记
    一维数组基础笔记(声明,定义,调用)
    一维数组基础笔记(声明,定义,调用)
    数据库安全
    python不常见用法
    异常处理-做一个优雅的程序员
    TCP/IP
    Python基础01
  • 原文地址:https://www.cnblogs.com/celine/p/9929276.html
Copyright © 2020-2023  润新知