2017-09-26 58 views
0

因此,我需要複製表中已經存在的一些數據。例如,用戶表可以有一個用戶,但是一個用戶可能有20個不同帳戶的20個條目。所以,當我有一個新用戶,他們說需要重新渲染一個不同的用戶時,我正在做什麼,我正在做一個插入到table_a(從table_a中選擇,其中UserID ='用戶複製)。現在爲每個條目運行一次,我怎麼能告訴它循環多行返回,並插入每一個。循環選擇查詢以通過複製SQL中的其他行條目來運行更新

例子:

insert into DocSS (Username, Password, CustID, CURQ, CUPO, CUPL, CUCC, DYQT, DYRR, DYCT, DYWS, DYST, DYON, DYDT, DYQA, DYND, DYCO, DYCA, DYPO, DYIN, DYCH, DYAI, DYAP, DYCC, DYMS, OSCO, OSRM, OSCT, OSDT, OSIN, OSPL, UserAdmin, DYPL, DYVL, OSQT, RTEN, RTOT, RTDP, RTCF, RTFN, RTCS, RTQT, OnlineQuoteID, MonthlyRpt, RTER, OnlineQuoteID2, OnlineQuoteID3, ViewAllAccounts) 
select 'the_new_userID', 'the_new_userID', CustID, CURQ, CUPO, CUPL, CUCC, DYQT, DYRR, DYCT, DYWS, DYST, DYON, DYDT, DYQA, DYND, DYCO, DYCA, DYPO, DYIN, DYCH, DYAI, DYAP, DYCC, DYMS, OSCO, OSRM, OSCT, OSDT, OSIN, OSPL, UserAdmin, DYPL, DYVL, OSQT, RTEN, RTOT, RTDP, RTCF, RTFN, RTCS, RTQT, OnlineQuoteID, MonthlyRpt, RTER, OnlineQuoteID2, OnlineQuoteID3, ViewAllAccounts 
    from DocSS 
    where UserName = 'user_to_replicate' and CustID = '120180' 

,而不必在20多個CUSTID的進入,每次運行它吧,我怎麼能做到這一點相同的技術,但沒有使用客戶ID where子句和循環儘管每個返回行?

+2

我想我一定不會理解你的問題。在我看來,你可以完全放棄'和custid = ...',或者在'120180','120191',...]中使用'和custid'' –

+0

你想要Brian Leach建議的或者custid在(從表where Userid = 12346選擇custid) – Rams

+0

可能的重複https://stackoverflow.com/questions/25969/insert-into-values-select-from – 1010

回答

1

你不想進入帳戶及客戶名稱,你可以簡單地把它where子句中,因爲我已刪除的where子句完全

insert into DocSS (Username, Password, CustID, CURQ, CUPO, CUPL, CUCC, DYQT, DYRR, DYCT, DYWS, DYST, DYON, DYDT, DYQA, DYND, DYCO, DYCA, DYPO, DYIN, DYCH, DYAI, DYAP, DYCC, DYMS, OSCO, OSRM, OSCT, OSDT, OSIN, OSPL, UserAdmin, DYPL, DYVL, OSQT, RTEN, RTOT, RTDP, RTCF, RTFN, RTCS, RTQT, OnlineQuoteID, MonthlyRpt, RTER, OnlineQuoteID2, OnlineQuoteID3, ViewAllAccounts) 
select 'the_new_userID', 'the_new_userID', CustID, CURQ, CUPO, CUPL, CUCC, DYQT, DYRR, DYCT, DYWS, DYST, DYON, DYDT, DYQA, DYND, DYCO, DYCA, DYPO, DYIN, DYCH, DYAI, DYAP, DYCC, DYMS, OSCO, OSRM, OSCT, OSDT, OSIN, OSPL, UserAdmin, DYPL, DYVL, OSQT, RTEN, RTOT, RTDP, RTCF, RTFN, RTCS, RTQT, OnlineQuoteID, MonthlyRpt, RTER, OnlineQuoteID2, OnlineQuoteID3, ViewAllAccounts 
    from DocSS ; 
+0

太好了!我不知道它會處理這樣的多個返回結果,我想我必須遍歷每個返回的記錄。謝謝! – Casey