存储过程中一次性安插N条数据

存储过程中一次性插入N条数据?
需要一次性插入N条数据,在变量@CLASSIDS里面指定。

DECLARE @NAME NVARCHAR(50)
DECLARE @CLASSIDS NVARCHAR(500)
SET @NAME = 'zhao' //输入变量,只是一个值
SET @CLASSIDS = '1,2,3' //输入变量,包含N个值

效果应该如下所示,插入三条数据,但是注意@CLASSIDS是变量,有可能是'3,7,8,1' 等。
INSERT INTO table1 (name, classid)
VALUES('zhao', '1')
VALUES('zhao', '2')
VALUES('zhao', '3')


------解决思路----------------------

create table table1(name varchar(10) , classid int)
go
DECLARE @NAME NVARCHAR(50)
DECLARE @CLASSIDS NVARCHAR(500)
declare @sql varchar(4000)
SET @NAME = 'zhao' 
SET @CLASSIDS = '1,2,3,5,7,9,11,18' 

set @sql = 'insert into table1(name,classid) values(''' + @NAME + ''','
set @sql = @sql + REPLACE(@CLASSIDS,',','),(''' + @name + ''', ') + ')'
--print @sql 
exec (@sql )
go
select * from table1
go
drop table table1 
go


(8 行受影响)
name       classid
---------- -----------
zhao       1
zhao       2
zhao       3
zhao       5
zhao       7
zhao       9
zhao       11
zhao       18

(8 行受影响)