加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

PLSQL中关于'单引号'、"双引号"一些区别的简单总结

(2015-03-26 09:46:36)
标签:

oracle

sql

分类: 数据库
=====================================================================
首先,单引号和双引号都是常用的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   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;

   如下则不会输出时间,只会输出sysdate这个字符串。
   select 'sysdate' from dual;

参考来源:plsql程序设计





0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有