1、第一:关于存储过程中参数的引号。如果存储过程的输入参数是一个字符类型的,那么在存储过程中使用时就不必要给参数加引号。以自己写的存储过程为例:
2、由上图可知输入参数为v_bsc数据类型是字符类型的,那么在下面使用时:
3、这样在使用时就直接填入变量就行了,因为,如果v_bsc的值为012那么会自动拼成带引号的值。
4、第二:如果在存储过程中处理动态sql语句,在动态sql语句中这个引号又如何使用呢?还是以传入v_bsc参数为例
5、上图可以看到,我们使用的是动态sql,动态sql是用英文的单引号括起来的,在单引号里边的sql中使用参数v忧溲枷茫_bsc,为什么是加了6个引号呢?比如我输出的参数v_bsc的值为gkgl,n那么动态sql:v_insert_tem_sql的值是什么呢,下面我们来测试一下
6、由以上测试结果,我们可以看到。那么是为什么呢?因为动态sql本身就是用单引号括起来的,而动态sql中使用参数要想输出一个单引号,那么必须使用转义字符来转义,然而,转义字符恰恰是单引号,也就是说在动态sql里三个单引号输出一个单引号。下面再给大家几个例子:
7、也就是说四个引号输出一个引号,四个引号包含的内容全部输出。现在加入我要去掉‘123中的单引号,那么该如何写呢?
8、这样很简单的就去掉了,所以在oracle中使用引号一定要掌握使用环境和使用方式,这样在工作中就会非常顺手。希望大家能够掌握