2016-02-03 58 views
0
update demo_hr_data set login = (case 
when (select count(*) from demo_hr_data where login like SUBSTR('john',0,1)||'doe'||'%') > 0 then SUBSTR('john',0,1)||'doe'|| 
    -- HERE -- 
    select count(*) from demo_hr_data where login like SUBSTR('john',0,1)||'doe'||'%' 
else 'jdoe' 
end) 
where fname = 'john' and lname = 'doe'; 
+0

我得到缺少表達錯誤。 –

+1

你的問題不是很清楚。告訴我們你想做什麼。向我們展示樣本數據和期望輸出。請閱讀http://stackoverflow.com/help/how-to-ask –

+0

我需要使用名字和姓氏更新「登錄」。應該使用fname的第一個字母表構造登錄名並附上姓。它有案例,如果登錄存在,它應該附加一個序列號。並在必要時增加數字。就像jdoe,jdoe1目前下次登錄時創建的應該是jdoe2。 –

回答

0
update demo_hr_data set login = (case 
when (select count(*) from demo_hr_data where login like SUBSTR('john',0,1)||'doe'||'%') > 0 then SUBSTR('john',0,1)||'doe'|| 
    (select to_char(count(*)) from demo_hr_data where login like SUBSTR('john',0,1))||'doe'||'%' 
else 'jdoe' 
end) 
where fname = 'john' and lname = 'doe'; 

試試這個...它爲我工作

相關問題