2012-05-08 101 views
0

我有一個變量之前遞增一個int值,SQL INSERT:插入

DECLARE @CN int = (SELECT [CONTROL_NUMBER] FROM myTable) 

我需要做的,其中這個變量的值在運行時被增加的INSERT語句。

所以,

INSERT INTO myTable2 (ControlNumber) 
SELECT CNC+(@CN increment the value here) FROM aTable 

所以插入值就會像,

aa1234 
ab1235 
cd1236... 

絕對@CN是一個int,所以我會考慮之前將其更改爲字符串插入值。

欣賞幫助。

謝謝!

+0

理想情況下,應該將序列值的處理留給數據庫。爲什麼這種方法? –

+0

^他說了什麼。使用身份? – zimdanen

+0

它不是一個標識列。 – OBL

回答

1
SET @CN = @CN + 1 
INSERT INTO myTable2 (ControlNumber) 
SELECT CNC + Cast(@CN as varchar) FROM aTable 
+0

儘管OP應該使用Identity列和單獨的VARCHAR/CHAR列,但這在技術上可以解決他的問題。 +1 @OBL,請在此重新考慮您的設計。 –