Как вставить или обновить время inlog в новой таблице, когда пользователь вошел в систему - PullRequest
0 голосов
/ 15 марта 2019

Я пытаюсь написать запрос, который, если пользователь действителен, сохраняет время в другой таблице. У меня есть первая часть, чтобы увидеть, действительны ли данные для входа в систему. Но вторая часть, которую я не знаю: получите 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 () функцией

Надеюсь, это достаточно ясно; если нет, пожалуйста, дайте мне знать.

1 Ответ

0 голосов
/ 15 марта 2019

Звучит так, будто тебе просто нужно это:

if(@Count = 1)
     Begin
      Select 1 as ReturnCode
      INSERT INTO Logintijd (Id, Tijd)
      Select Id, GETDATE() from Signin where [Email] = @Email
     End
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...