且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

如何在SSIS中自动生成数字并在执行SQL任务中使用

更新时间:2022-05-07 17:21:37

首先,我对SSIS的了解是……等于零!

如果要插入从000001开始的值(...)并为每行(...)连续递增,那不是那么简单!为什么? 000001不是数字值,而是文本!

以下示例显示了如何添加/插入1K记录.
First of all, my knowledge about SSIS is... equal zero!

If you want to insert values (...)starting from 000001 and increment continuously for each row(...), it''s not so simple! Why? 000001 is not a numeric value, it''s a text!

The below example shows how to add/insert 1K records.
DECLARE @sNum NVARCHAR(6)
DECLARE @iNum INT
DECLARE @iCount INT
DECLARE @iCounter INT

-- add 1000 rows, starting from 1
SET @iNum = 1 
SET @iCount = 1000
SET @iCounter = 1
WHILE (@iCounter <= @iCount)
BEGIN
	SET @sNum = '000000'
	SET @sNum = SUBSTRING(@sNum, LEN(@sNum) - LEN(CONVERT(VARCHAR(6), @iNum))+1, LEN(CONVERT(VARCHAR(6), @iNum))) + CONVERT(VARCHAR(6), @iNum)
	INSERT INTO [YourTable] ([YourField]) VALUES(@sNum)
	SET @iNum = @iNum + 1
	SET @iCounter = @iCounter + 1
END



结果:



Results:

000001<br />
000002<br />
...<br />
001000