example of cursor
insert record one table to another
et ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
ALTER PROCEDURE [dbo].[proc_insertuserprofilecur]
@ImportProcessId uniqueidentifier
as
DECLARE @STREETADDRESS nvarchar(256),@MOBILE VARCHAR(50),@MAIL nvarchar(256),@DEPARTMENT nvarchar(256),@SN nvarchar(256),@GIVENNAME nvarchar(256),@SAMACCOUNTNAME nvarchar(250)
DECLARE CUR_INSERT_DATA CURSOR FOR
--SELECT *
------FROM OPENQUERY (ADSI,'SELECT STREETADDRESS,MOBILE,MAIL,DEPARTMENT,SN,GIVENNAME,SAMACCOUNTNAME,OBJECTGUID FROM ''LDAP://DC=EMANON,DC=COM'' WHERE OBJECTCLASS=''USER''')
-- FROM OPENQUERY (ADSI,'SELECT SAMACCOUNTNAME,GIVENNAME,SN,DEPARTMENT, MAIL,MOBILE,STREETADDRESS FROM ''LDAP://DC=EMANON,DC=COM'' WHERE OBJECTCLASS=''USER''')
--
----EXEC (@adsiquery)
select * from Ldaptable
BEGIN
OPEN CUR_INSERT_DATA
FETCH NEXT FROM CUR_INSERT_DATA
INTO
--@STREETADDRESS,@MOBILE,@MAIL,@DEPARTMENT,@SN,@GIVENNAME,@SAMACCOUNTNAME,@OBJECTGUID
@SAMACCOUNTNAME,@GIVENNAME,@SN,@DEPARTMENT,@MAIL,@MOBILE,@STREETADDRESS
WHILE @@FETCH_STATUS=0
BEGIN
INSERT INTO USER_PROFILES
(ACCOUNTNAME,FIRSTNAME,LASTNAME,DEPARTMENT,EMAIL,MOBILE,ADDRESS,ImportProcessId)
VALUES
--(@SAMACCOUNTNAME,@GIVENNAME,@SN,@DEPARTMENT,@MAIL,@MOBILE,@STREETADDRESS)
(@STREETADDRESS,@MOBILE,@MAIL,@DEPARTMENT,@SN,@GIVENNAME,@SAMACCOUNTNAME,@ImportProcessId)
FETCH NEXT FROM CUR_INSERT_DATA
INTO
--@STREETADDRESS,@MOBILE,@MAIL,@DEPARTMENT,@SN,@GIVENNAME,@SAMACCOUNTNAME,@OBJECTGUID
--@STREETADDRESS,@MOBILE,@MAIL--,@DEPARTMENT,@SN,@GIVENNAME,@SAMACCOUNTNAME,@OBJECTGUID
@SAMACCOUNTNAME,@GIVENNAME,@SN,@DEPARTMENT,@MAIL,@MOBILE,@STREETADDRESS
END
CLOSE CUR_INSERT_DATA
DEALLOCATE CUR_INSERT_DATA
END
Thanks
SagarP
http://www.emanonsolutions.net
http://emanonsolutions.blogspot.com/
Jameschowdare, if this helps please login to Mark As Answer. | Alert Moderator