【发布时间】:2019-01-13 15:03:18
【问题描述】:
我需要在表中插入一个连接值列表,但如果p_is_broker 变量为真,则需要添加第一个。为简单起见,假设它是真的。
insert into exports (session_id, row_sequence, row_data)
select token,
1, 'Manager'
||','||'Company'
||','||'Driver Name'
||','||'Registration'
||','||'Vehicle'
from dual
union
select token,
rownum + 1,
'"'||replace(manager,'"','""')
||'","'||replace(company,'"','""')
||'","'||replace(driver_name,'"','""')
||'","'||replace(registration,'"','""')
from table(cast (p_data as data_t));
如果p_is_broker 为真,我如何插入“经理”?
我尝试过类似的方法,但它不起作用。
insert into exports (session_id, row_sequence, row_data)
select token,
1, (CASE WHEN p_is_broker THEN 'Manager' END)
||','||'Company'
||','||'Driver Name'
||','||'Registration'
||','||'Vehicle'
from dual;
如果有“经理”,我们想要第一个||','||,这变得相当棘手。
【问题讨论】:
-
为什么要连接字符串文字?为什么不只是
'Company,Driver Name,Registration,Vehicle'?
标签: sql select plsql insert-into