Import data using the dynamic assignment cursor sql

DECLARE @ID uniqueidentifier
DECLARE @Name nvarchar(20)
DECLARE @Age int
DECLARE @Sex nvarchar(2)
DECLARE @Remarks nvarchar(100)

DECLARE table_cursor CURSOR FOR
	 (SELECT * FROM OpenDataSource
		('Microsoft.ACE.OLEDB.12.0','Excel 8.0;hdr=yes;Database=E:\csmodel\user.xlsx')...[Sheet1$])
		
OPEN table_cursor

FETCH NEXT FROM table_cursor into @ID,@Name,@Age,@Sex,@Remarks

WHILE @@FETCH_STATUS=0
BEGIN 
	insert into	EM_User values(newid(),@Name,@Age,@Sex,@Remarks)//动态给数据库表字段赋值
FETCH NEXT FROM table_cursor into @ID,@Name,@Age,@Sex,@Remarks
END

CLOSE table_cursor
DEALLOCATE table_cursor
 

 

Guess you like

Origin www.cnblogs.com/lijl/p/11368749.html