Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

SQL Server NẾU KHÔNG TỒN TẠI Sử dụng?

Bạn đã xác minh rằng trên thực tế có một hàng nơi Staff_Id =@PersonID chưa? Những gì bạn đã đăng hoạt động tốt trong tập lệnh thử nghiệm, giả sử hàng tồn tại. Nếu bạn nhận xét ra câu lệnh chèn, thì lỗi sẽ xuất hiện.

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. Trong Sql Server cách xoay vòng cho nhiều cột

  2. Sự khác biệt giữa sys.sql_modules, sys.system_sql_modules và sys.all_sql_modules trong SQL Server

  3. SQL Server thêm khóa chính tăng tự động vào bảng hiện có

  4. Làm cách nào để bạn đạt đến giới hạn 8060 byte mỗi hàng và 8000 cho mỗi giá trị (varchar, nvarchar)?

  5. Chèn hàng loạt tệp dữ liệu vào máy chủ SQL