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. SQLServerでのNULLの処理

    2. t-sqlで「execute」を使用して値を変数に設定するにはどうすればよいですか?

    3. SQLAlchemyの複雑な外部キー制約

    4. MySQL、PostgreSQL、SQLiteのデータベース列タイプの比較? (クロスマッピング)