数据库存储过程当中的一条语句,最下面两行的单引号和三单引号有什么区别?
v_sql:='INSERTINTOTB_HDM_LOG(T_SERIAL_NUMBER,T_CARD_NUMBER,T_LOG_F)VALUES('||v_T_SERI...
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||'''
) '; 展开
T_SERIAL_NUMBER,
T_CARD_NUMBER,
T_LOG_F
)
VALUES(
'||v_T_SERIAL_NUMBER||',
'||v_T_CARD_NUMBER||',
'''||v_T_LOG_F||'''
) '; 展开
1个回答
展开全部
单引号 表示 拼接字段。
由于你要将整个insert语句拼接好之后,在下面调用,所以才用 '字符串'||参数||'字符串'这种形式。
你这个例子中的 v_T_CARD_NUMBER 是上面的参数,这里需要使用这个参数进行传值。
下面的那个属于转义字符,表示你的语句中 对应这个表的第三个字段T_LOG_F
可能是varchar类型的,所以这里用了三个单引号。
实际上这个语句 你可以简单的理解为 insert into table_name(字段1,字段2,字段3) values (111,222,'asdfasdf');这种形式。
由于你要将整个insert语句拼接好之后,在下面调用,所以才用 '字符串'||参数||'字符串'这种形式。
你这个例子中的 v_T_CARD_NUMBER 是上面的参数,这里需要使用这个参数进行传值。
下面的那个属于转义字符,表示你的语句中 对应这个表的第三个字段T_LOG_F
可能是varchar类型的,所以这里用了三个单引号。
实际上这个语句 你可以简单的理解为 insert into table_name(字段1,字段2,字段3) values (111,222,'asdfasdf');这种形式。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询