`
JEmql
  • 浏览: 61160 次
  • 性别: Icon_minigender_1
  • 来自: 无锡
社区版块
存档分类
最新评论

sql 语言的和符号替换。

阅读更多
  •  
    1. SQL语句中最基本、最普遍的元素替换形式是单个和符号(&)替换。和字符是用来在语句中指定替换变量的符号,它在变量名之前,并且它们之间没有空格。
    1. Oracle使用以下两种方式来确定变量的值:
      • 检查用户会话中是否使用DEFINE定义了该变量。
      • 如果没有定义变量,在SQL进程运行时,由用户指定(即输入一个变量值)
    1. 如果变量要替换字符或者日期值,需要将字面值包含在单引号内。
    1. 示例1
    1. 可以使用和字符替换列名,和字符、日期字符字面值不一样,当指定或者通过&替换变量指定时,列名引用都不需要单引号。
    1. 和字符可以替换SQL语句的任何元素,但至少第一个单词是静态的,如:SELECT $rest_of_statement
    1. oracle不会检验相同替换变量输入的字面值。
    1. 使用双和符号(&&)定义的变量,oracle服务器会将其作为会话变量,在后续引用中不再提示替换该变量值。在会话期间或在显式解除定义前,此变量一直有效。
    1. 使用UNDEFINE可以显式解除&&定义的会话变量值。
    1. DEFINE命令有两个作用:
      • 可以用来检索SQL会话中当前定义的所有变量列表
      • 可以定义会话期间一个或者多个变量的值
    1. 使用SET DEFINE ON/OFF可以打开或关闭和字符(&)的替换功能。当输入的字面值中包括和符号(&)时,可在之前使用set define off来关闭字符(&)的替换功能。
    2. VERIFY命令专用于SQL*PLUS,可以控制提交的替换变量是否显示到屏幕上,以便验证替换是否正确。即示例中的:
  • 可以使用和符号(&)来替换SQL语句中的元素,包括所有文本、子句、子子句。即通过和符号来指定变量

    SQL> select employee_id,last_name,salary from employees

      2  where last_name='&LASTNAME';

    Enter value for lastname: King

    old   2: where last_name='&LASTNAME'

    new   2: where last_name='King'

     

    EMPLOYEE_ID LAST_NAME                     SALARY

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

            156 King                           10000

            100 King                           24000

    注:如不在&LASTNAME外添加'',则需要在输入King时添加'',否则会报错。

     

    示例2

    SQL> define LASTNAME=King;

    SQL> select employee_id,last_name,salary from employees

      2  where last_name='&LASTNAME';

    old   2: where last_name='&LASTNAME'

    new   2: where last_name='King'

     

    EMPLOYEE_ID LAST_NAME                     SALARY

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

            156 King                           10000

            100 King                           24000

     

    old   2: where last_name='&LASTNAME'

    new   2: where last_name='King'

    可以使用SET VERIFY ON/OFF来打开或关闭此功能。

分享到:
评论

相关推荐

    程序员的SQL金典.rar

     1.2.9 数据库的语言——SQL  1.2.10 DBA与程序员 第2章 数据表的创建和管理  2.1 数据类型  2.1.1 整数类型  2.1.2 数值类型  2.1.3 字符相关类型  2.1.4 日期时间类型  2.1.5 二进制类型  2.2 通过SQL...

    sql2005全文检索.doc

    例如,很多口头常用的技术产品“Win2K”、 “WinXP”等,一般都很正式的称为“Windows 2000”和 “Windows XP”,因此SQL Server 2005上也提供类似词汇替换的支持,而且这些支持也是与具体语言相关的。  4、SQL ...

    程序员的SQL金典4-8

     1.2.9 数据库的语言——SQL  1.2.10 DBA与程序员 第2章 数据表的创建和管理  2.1 数据类型  2.1.1 整数类型  2.1.2 数值类型  2.1.3 字符相关类型  2.1.4 日期时间类型  2.1.5 二进制类型  2.2 通过SQL...

    MYSQL,SQLSERVER,ORACLE常用的函数

    取数字n的符号,大于0返回1,小于0返回-1,等于0返回0 SQL> select sign(123),sign(-100),sign(0) from dual; SIGN(123) SIGN(-100) SIGN(0) --------- ---------- --------- 1 -1 0 30.SIN 返回一个数字的正弦...

    程序员的SQL金典6-8

     1.2.9 数据库的语言——SQL  1.2.10 DBA与程序员 第2章 数据表的创建和管理  2.1 数据类型  2.1.1 整数类型  2.1.2 数值类型  2.1.3 字符相关类型  2.1.4 日期时间类型  2.1.5 二进制类型  2.2 通过SQL...

    程序员的SQL金典7-8

     1.2.9 数据库的语言——SQL  1.2.10 DBA与程序员 第2章 数据表的创建和管理  2.1 数据类型  2.1.1 整数类型  2.1.2 数值类型  2.1.3 字符相关类型  2.1.4 日期时间类型  2.1.5 二进制类型  2.2 通过SQL...

    程序员的SQL金典3-8

     1.2.9 数据库的语言——SQL  1.2.10 DBA与程序员 第2章 数据表的创建和管理  2.1 数据类型  2.1.1 整数类型  2.1.2 数值类型  2.1.3 字符相关类型  2.1.4 日期时间类型  2.1.5 二进制类型  2.2 通过SQL...

    PL/SQL 类型格式转换

    NLSPARAMS 用于指定小数点和千分符及货币符号。 数字格式控制符包括: * 9:代表一位数字(替换符) * 0:代表一位数字(有数字,显示;没有,强制显示 0) * $:美圆符号 * L:本地货币符号 * .:小数点 * ,:千...

    MyBatis SQL xml处理小于号与大于号正确的格式

    当我们需要通过xml格式处理sql语句时,经常会用到< ,<=,>,>=等符号,但是很容易引起xml...替换符号 < <= > >= & ' 错误的xml格式: <?xml version=1.0 encoding=GBK?> <queryForm token=

    数据库基础 ORACLE

    §1.3.2 PL/SQL语言 26 §1.4 登录到SQL*PLUS 27 §1.4.1 UNIX环境 27 §1.4.2 Windows NT和WINDOWS/2000环境 29 §1.5 常用SQL*PLUS 附加命令简介 31 §1.5.1 登录到SQL*PLUS 32 §1.5.2 EXIT和QUIT 32 §1.5.3 ...

    OCA认证考试指南1Z0-051

    1.3 SQL语言概述 1.3.1 SQL标准 1.3.2 SQL命令 1.3.3 面向集合语言 1.4 使用客户工具 1.4.1 SQL*Plus 1.4.2 SQLDeveloper 1.5 创建演示模式 1.5.1 用户和模式 1.5.2 HR和OE模式 1.5.3 创建演示...

    ORACLE11G宝典.rar 是光盘里面的内容,书太厚咧没法影印啊

     3.5 SQL语言中的各种函数  3.5.1 单行数字函数  3.5.2 单行字符函数  3.5.3 单行日期时间函数  3.5.4 单行转换函数  3.5.5 几个函数的使用举例  3.6 小结  第4章 PUSQL语言基础  4.1 PL/SQL语言...

    高级记事本....Notepad2

    特点: ... PHP, CSS, Perl/CGI,C/C++, C#, ... 8 使用标准的正则表达式搜索和替换 9 可以使用半透明模式,cool 10 快速放大、缩小页面,不用再设定字体大小 11 可以指定ESC键最小化Notepad2到系统托盘或者关闭Notepad2

    OCPOCA认证考试指南全册:Oracle Database 11g(1Z0-051,1Z0-052,1Z0-053)--详细书签版(第2/2部分)

    9.6 &符号替换 337 9.6.1 替换变量 337 9.6.2 定义和验证 339 9.7 本章知识点回顾 342 9.8 自测题 343 9.9 自测题答案 345 第10章 单行函数与转换函数 347 10.1 描述和使用SQL中的字符、数字和日期函数 348 ...

    OCPOCA认证考试指南全册:Oracle Database 11g(1Z0-051,1Z0-052,1Z0-053)--详细书签版(第1/2部分)

    9.6 &符号替换 337 9.6.1 替换变量 337 9.6.2 定义和验证 339 9.7 本章知识点回顾 342 9.8 自测题 343 9.9 自测题答案 345 第10章 单行函数与转换函数 347 10.1 描述和使用SQL中的字符、数字和日期函数 348 ...

    数据库基础

    §1.3.2 PL/SQL语言 27 §1.4 登录到SQL*PLUS 27 §1.4.1 UNIX环境 27 §1.4.2 Windows NT和WINDOWS/2000环境 29 §1.5 常用SQL*PLUS 附加命令简介 32 §1.5.1 登录到SQL*PLUS 32 §1.5.2 EXIT和QUIT 32 §1.5.3 ...

    送强力打狗棒,文末领取

    我一直想找一个通用性的过狗方法,预期是这个绕过方法不会涉及到下面3个方面 (1)中间件,如iis、apache (2)数据库,如mysql、sql server (3)脚本语言,如php、aspx、asp ...MS SQL Server和Oracle

    C#开发经验技巧宝典

    0809 打开“区域和语言选项”对话框并指定选项卡 489 0810 如何执行命令行命令? 489 0811 如何修改计算机的默认打印机 490 0812 如何实现行业软件系统注销功能 490 0813 如何将计算机设置为休眠状态 490 ...

Global site tag (gtag.js) - Google Analytics