1. 程式人生 > >【範例】增加大量人員和卡片的指令碼

【範例】增加大量人員和卡片的指令碼

DECLARE @n INT;
DECLARE @uid VARCHAR(36);
DECLARE @cid VARCHAR(36);
DECLARE @typeid VARCHAR(36);
DECLARE @stationid VARCHAR(36);
DECLARE @gid VARCHAR(36);
DECLARE @cardno VARCHAR(20);
DECLARE @usercode VARCHAR(32);
DECLARE @max INT;
DECLARE @gname VARCHAR(256);

SET @gname = 'Test20W';  --表示可新增到哪個分組下面,‘組態系統’可自行修改
SET @max = 200000; --表示可新增人員和卡的最大數量,數值可自行修改

SELECT @gid = id FROM dbo.acscon_group WHERE name = @gname;
SELECT @stationid = id FROM dbo.acscon_group WHERE [type] = 0;
SELECT @typeid = id FROM dbo.acscon_cardtype WHERE [type] = 0;
SET @n = 1;
WHILE @n <= @max
BEGIN
	SET @usercode = 'sa'+convert(VARCHAR,@n);
	IF NOT EXISTS(SELECT id FROM [dbo].[acscon_user] WHERE usercode = @usercode)
	BEGIN
		INSERT INTO [dbo].[acscon_user]([stationid],[usercode],[name],[type],[sex],[pwd],[email],[phone],[country],[province],[city],[address],[photo],[validdatebegin],[validdateend],[status],[descr],[officetel],[creationtime],[certtype],[certno],[duty])
		VALUES(@stationid,@usercode,@usercode,0,0,'fhWuQ7Ia6cM=','','','','','','','','','',1,'','',GETDATE(),0,'','經理');
	END
	SELECT @uid = id FROM [dbo].[acscon_user] WHERE usercode = @usercode;
	
	SET @cardno = convert(VARCHAR,
[email protected]
); IF NOT EXISTS(SELECT id FROM [dbo].[acscon_card] WHERE cardno = @cardno) BEGIN INSERT INTO [dbo].[acscon_card]([stationid],[cardno],[typeid],[status],[startdate],[enddate],[cardpwd],[creationtime],[level],[idtype],[idapplication]) VALUES(@stationid,@cardno,@typeid,1,'2018-05-16 10:20:29.133','2018-12-16 23:50:00.133','rpViimumyT4=',GETDATE(),4,0,1); END SELECT @cid = id FROM [dbo].[acscon_card] WHERE cardno = @cardno; IF NOT EXISTS(SELECT uid FROM [dbo].[acscon_usercard] WHERE uid = @uid and cardid = @cid) BEGIN INSERT INTO [dbo].[acscon_usercard](uid,cardid) VALUES(@uid,@cid); END IF NOT EXISTS(SELECT uid FROM [dbo].[acscon_groupmember] WHERE uid = @uid and gid = @gid) BEGIN INSERT INTO [dbo].[acscon_groupmember](uid,gid,creationtime) VALUES(@uid,'9700F796-1770-E711-BB19-80C16EE6C8EE','2017-08-15 16:23:27.273'); END SET @n = @n + 1; END