身份证批量插入表
创建临时表
T_Aty_UserExt4
IF OBJECT_ID ('dbo.T_Aty_UserExt4') IS NOT NULL
DROP TABLE dbo.T_Aty_UserExt4
GO
CREATE TABLE dbo.T_Aty_UserExt4
(
C_ID VARCHAR (50) NULL,
C_LoginID VARCHAR (100) NULL,
C_Name VARCHAR (100) NULL,
C_Sfz VARCHAR (20) NULL
)
GO
使用excel生成插入语句到中间表。插入用户准备好的身份证和名字。
INSERT INTO T_Aty_UserExt(C_ID,C_LoginID,C_Name) vlues()
将用户ID 和C_LoginID,插入到临时表中。
建cursor
DECLARE tt CURSOR FOR SELECT C_ID,C_LoginID,C_Name FROM T_Aty_UserExt
查出的数据和临时表相同的自动获取信息。
DECLARE @id VARCHAR(100)
DECLARE @ld VARCHAR(100)
DECLARE @cn VARCHAR(100)
OPEN tt
FETCH tt INTO @id,@ld,@cn
WHILE @@SQLSTATUS=0
BEGIN
UPDATE T_Aty_UserExt4 SET C_ID=@id,C_LoginID=@ld WHERE C_Name=@cn
FETCH tt INTO @id,@ld,@cn
END
CLOSE tt
相同id的改为相同的身份证。
UPDATE T_Aty_UserExt SET U.C_Sfz=U4.C_Sfz FROM T_Aty_UserExt U,T_Aty_UserExt4 U4 WHERE U.C_ID=U4.C_ID
查询没有导入的信息
SELECT C_ID,C_LoginID,C_Name FROM T_Aty_User WHERE C_ID NOT IN (SELECT C_ID FROM T_Aty_UserExt)