PLSQL中关于'单引号'、"双引号"一些区别的简单总结
(2015-03-26 09:46:36)
标签:
oraclesql |
分类: 数据库 |
=====================================================================
首先,单引号和双引号都是常用的PL/SQL 分隔符http://www/uc/myshow/blog/misc/gif/E___6721EN00SIGG.gif
开始简单总结一下它们的区别,能力有限,有缺漏有错误的地方还请多多指教
-------------------------------------------------------------------------------------------------------------------
1、单引号是字符串分隔符,用于定义字符串字面值(注:字面值区分大小写,而编程语言是不区分大小写的)
可按如下方式将字符串字面值赋值给变量
a := 'A STRING
LITERAL.';
字符串分隔符之间的字符集构成一个字符串字面值,然后被赋给变量a
2、双引号是引用标识符分隔符,可用它来访问从数据库目录以区分大小写的方式创建的表,如果你是以以区分大小写的方式创建数据库表,这个是必需的啦。从oracle 10g 开始,就可以这么做了。
例如,可使用引用标识符分隔符创建大小写的表或者列:
CREATE TABLE
"DEMO"
( "DEMO_ID "NUMBER
, DEMO_VALUE VARCHAR2(20));
使用下列引用分隔符插入行
insert into "DEMO1" values (1,;one line only!');
和sql语法一样,plsql要求使用引用标识分隔符查找数据库目录对象,
如下所示
begin
FOR I
IN (SELECT
"DEMO_ID",DEMO_VALUE FROM
"DEMO")LOOP
dbms_output.put_line(i,"DEMO_ID");
dbms_output.put_line(i.demo_value);
END LOOP;
END;
/
=====================================================================
除了嵌入式SQL语句中的引用标识符,必须使用引用分隔语法引用任何类名,第一行输出中就是这样,其中循环索引(i)后面跟着一个组件选择符(.),然后是引号分割的标示符(”DEMO_ID")。应注意到,访问不区分大小写的列是不需要引号的,如果忘了将区分大小写的列名(标识符)括起来,程序会返回一个pls——00302错误,说明标识符未声明。
也可以使用引用标识符构建包括保留符号的标识符如“x+y”
注:当双引号被嵌在单引号中时,被认为是普通字符,
例如:a := 'A STRING“啦啦啦啦啦”
LITERAL.';
dbms_output.put_line(a);
输出结果:A
STRING“啦啦啦啦啦” LITERAL.
注2:双引号引住关键字 select "sysdate" from dual;等同于select sysdate from dual;
首先,单引号和双引号都是常用的PL/SQL 分隔符http://www/uc/myshow/blog/misc/gif/E___6721EN00SIGG.gif
开始简单总结一下它们的区别,能力有限,有缺漏有错误的地方还请多多指教
-------------------------------------------------------------------------------------------------------------------
1、单引号是字符串分隔符,用于定义字符串字面值(注:字面值区分大小写,而编程语言是不区分大小写的)
2、双引号是引用标识符分隔符,可用它来访问从数据库目录以区分大小写的方式创建的表,如果你是以以区分大小写的方式创建数据库表,这个是必需的啦。从oracle 10g 开始,就可以这么做了。
使用下列引用分隔符插入行
insert into "DEMO1" values (1,;one line only!');
和sql语法一样,plsql要求使用引用标识分隔符查找数据库目录对象,
如下所示
begin
END LOOP;
END;
/
=====================================================================
也可以使用引用标识符构建包括保留符号的标识符如“x+y”
注:当双引号被嵌在单引号中时,被认为是普通字符,
注2:双引号引住关键字 select "sysdate" from dual;等同于select sysdate from dual;
参考来源:plsql程序设计