Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

SQL Server, АКО НЕ СЪЩЕСТВУВА Използване?

Проверихте ли, че всъщност има ред, където Staff_Id =@PersonID? Това, което сте публикували, работи добре в тестов скрипт, ако приемем, че редът съществува. Ако коментирате израза за вмъкване, тогава грешката се появява.

set nocount on

create table Timesheet_Hours (Staff_Id int, BookedHours int, Posted_Flag bit)

insert into Timesheet_Hours (Staff_Id, BookedHours, Posted_Flag) values (1, 5.5, 0)

declare @PersonID int
set @PersonID = 1

IF EXISTS    
    (
    SELECT 1    
    FROM Timesheet_Hours    
    WHERE Posted_Flag = 1    
        AND Staff_Id = @PersonID    
    )    
    BEGIN
        RAISERROR('Timesheets have already been posted!', 16, 1)
        ROLLBACK TRAN
    END
ELSE
    IF NOT EXISTS
        (
        SELECT 1
        FROM Timesheet_Hours
        WHERE Staff_Id = @PersonID
        )
        BEGIN
            RAISERROR('Default list has not been loaded!', 16, 1)
            ROLLBACK TRAN
        END
    ELSE
        print 'No problems here'

drop table Timesheet_Hours



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Оптимизация на SQL заявки:Най-добри практики за подобрена производителност

  2. Как мога да се свържа с външна база данни от sql оператор или съхранена процедура?

  3. Премахнете всички интервали от низ в SQL Server

  4. Как да заявя поле DATETIME, използвайки само дата в Microsoft SQL Server?

  5. Как да актуализирате голяма таблица с милиони редове в SQL Server?