1
をユーザを挿入することはできません列Id:[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
、しかし私は物理的に宣言されている場所を見つけることはできません。は、私は、ストアドプロシージャを使用してAspNetUsers表を移入しようとしていますが、私は次のエラーを取得するAspNetUsersテーブルに
私は時間がないため、すべてのユーザーを手動で挿入したくないため、できるだけ早く行う必要があります。
BEGIN
SET NOCOUNT ON;
DECLARE @id uniqueidentifier
DECLARE @email nvarchar(256)
DECLARE @emailconfirmed bit
SET @emailconfirmed = 0
DECLARE @twofactorenabled bit
SET @twofactorenabled = 0
DECLARE @lockoutenabled bit
SET @lockoutenabled = 1
DECLARE @accessFailed bit
SET @accessFailed = 1
DECLARE @username nvarchar(256)
DECLARE @fname nvarchar(50)
DECLARE @lname nvarchar(50)
DECLARE @athleteKey int
SET @athleteKey = 41809
DECLARE @atheletsCount int
SET @atheletsCount = 0;
SET @atheletsCount = (SELECT COUNT(*) FROM [BIBD].[dbo].[Athlete])
WHILE @athleteKey < @atheletsCount
SET @id = NEWID() --Line 36
print CAST(@id AS nvarchar(128))
SET @fname = (SELECT FirstName FROM [BIBD].[dbo].[Athlete] where [email protected])
SET @lname = (SELECT LastName FROM [BIBD].[dbo].[Athlete] where [email protected])
SET @username = CONCAT(LOWER(@fname),'.',LOWER(@lname))
SET @email = CONCAT(LOWER(@fname), '.', LOWER(@lname), '@gmail.com')
INSERT INTO [MyDatabase].[dbo].[AspNetUsers]
(Id
,Email
,EmailConfirmed
,[TwoFactorEnabled]
,LockoutEnabled
,AccessFailedCount
,UserName
,FirstName
,LastName)
VALUES
(CAST(@id AS nvarchar(128))
,@email
,@emailconfirmed
,@twofactorenabled
,@lockoutenabled
,@accessFailed
,@username
,@fname
,@lname)
IF @athleteKey % 5 = 0
INSERT INTO [MyDatabase].[dbo].[AspNetUserRoles]
(UserId,RoleId) VALUES (@id, 3)
ELSE
INSERT INTO [MyDatabase].[dbo].[AspNetUserRoles]
(UserId,RoleId) VALUES (@id, 4)
SET @athleteKey = @athleteKey+1
END
ストアドプロシージャとは何ですか? – ESG
idの列データ型とは何ですか? – Ian
@Ian nvarchar(128) – user1012732