我通常儘量避免使用遊標並循環遍歷結果集,但是如何在下列情況下完成此操作,而不通過循環遍歷SomeTable
並將行逐一插入到MyTable
?將數據從一個表移動到另一個表相似表
簡單的模式如下:
MyTable
- Name VARCHAR(20)
- Code1 CHAR(5)
- Code2 CHAR(5)
SomeTable
- Name VARCHAR(20)
- SomeCode1 CHAR(10)
- SomeCode2 CHAR(10)
SQL語句:
INSERT INTO MyTable (Name, Code1, Code2)
SELECT Name, First Five Chars of SomeCode1 Only if SomeCode2 is not null or empty or doesn't have a certain value, SomeCode2
FROM SomeTable
我這樣做Java代碼內,但我不知道是否有可能做到這一點的一個整體INSERT INTO SELECT
聲明。我幾乎接近編寫一個for循環,其中包含單個INSERT
語句。我應該在數據庫中創建某種功能還是..?我正在使用DB2。
不應該這是SUBSTR()而不是SUBSTRING()? – 2011-05-03 20:03:48