存储过程中出现三个单引号什么情况?

数据库存储过程当中的一条语句,最下面两行的单引号和三单引号有什么区别?

v_sql := 'INSERT INTO TB_HDM_LOG(
T_SERIAL_NUMBER,
T_CARD_NUMBER,
T_LOG_F
)
VALUES(
'||v_T_SERIAL_NUMBER||',
'||v_T_CARD_NUMBER||',
'''||v_T_LOG_F||'''
) ';
 
单引号 表示 拼接字段。
由于你要将整个insert语句拼接好之后,在下面调用,所以才用 '字符串'||参数||'这种形式。

你这个例子中的 v_T_CARD_NUMBER 是上面的参数,这里需要使用这个参数进行传值。

下面的那个属于转义字符,表示你的语句中 对应这个表的第三个字段T_LOG_F
可能是varchar类型的,所以这里用了三个单引号。

实际上这个语句 你可以简单的理解为 insert into table_name(字段1,字段2,字段3) values (111,222,'asdfasdf');这种形式。
posted @ 2018-12-14 10:36  愚蠢的程序员  阅读(2424)  评论(0编辑  收藏  举报