數據庫存儲過程當中的一條語句,最下面兩行的單引號和三單引號有什么區別?
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||'''
) ';
單引號 表示 拼接字段。
由於你要將整個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');這種形式。