Я пытаюсь написать запрос, который, если пользователь действителен, сохраняет время в другой таблице. У меня есть первая часть, чтобы увидеть, действительны ли данные для входа в систему. Но вторая часть, которую я не знаю: получите id
зарегистрированного электронного письма, затем используйте это id
, чтобы записать его во вторую таблицу и вставить или обновить время в этой таблице.
Это моя первая часть запроса / хранимой процедуры
Create Procedure spAuthenticateUser
@Email nvarchar(100),
@Wachtwoord nvarchar(100)
as
Begin
Declare @Count int
Select @Count = COUNT(Email) from Signin
where [Email] = @Email and [Wachtwoord] = @Wachtwoord
if(@Count = 1)
Begin
Select 1 as ReturnCode
End
Else
Begin
Select -1 as ReturnCode
End
End
Это уже работает. Я пытался добавить
if(@Count = 1)
Begin
Select 1 as ReturnCode
INSERT INTO Logintijd (Id, Tijd)
Select Id from Signin where [Email] = @Email
End
Это таблица, которую я пытался использовать
Create table Signin
(
Id int identity primary key not null,
Naam nvarchar(50) not null,
Email nvarchar(50) unique not null,
Wachtwoord nvarchar(50) not null
)
и
Create table Logintijd
(
Id int not null primary key,
Tijd smalldatetime not null
)
Пытался сделать это с обновленным классом
IF EXISTS (Select Tijd from Logintijd Inner join Signin ON Logintijd.Id = Signin.Id)
update Logintijd set Tijd = GETDATE() From Logintijd Inner join Signin ON Logintijd.Id = Signin.Id
ELSE
INSERT INTO Logintijd (Id, Tijd)
Select Id, GETDATE() from Signin where [Email] = @Email
Это действительно обновляет и вставляет, но делает это для всех элементов в классе
Я знаю, что должен что-то сделать с smalldatetime и Getdate () функцией
Надеюсь, это достаточно ясно; если нет, пожалуйста, дайте мне знать.