Загрузка данных


IF OBJECT_ID(N'dbo.Users12', N'U') IS NULL
BEGIN
    CREATE TABLE dbo.Users12
    (
        UserID       INT IDENTITY(1,1) NOT NULL,
        FullName     NVARCHAR(100) NOT NULL,
        Phone        NVARCHAR(20)  NOT NULL,
        Email        NVARCHAR(100) NOT NULL,
        Login        NVARCHAR(100) NOT NULL,
        PasswordHash VARBINARY(32) NOT NULL,
        Role         NVARCHAR(30)  NOT NULL,
        IsActive     BIT NOT NULL
            CONSTRAINT DF_Users12_IsActive DEFAULT (1),

        CONSTRAINT PK_Users12
            PRIMARY KEY (UserID),

        CONSTRAINT UQ_Users12_Email
            UNIQUE (Email),

        CONSTRAINT UQ_Users12_Login
            UNIQUE (Login),

        CONSTRAINT CK_Users12_Role
            CHECK (Role IN
                (N'Клиент', N'Сотрудник', N'Администратор'))
    );
END;
GO

-- Пример: добавить сотрудника через SQL.
-- Поменяй данные на свои и убери /* */.

/*
INSERT INTO dbo.Users12
(
    FullName,
    Phone,
    Email,
    Login,
    PasswordHash,
    Role,
    IsActive
)
VALUES
(
    N'Иванов Иван Иванович',
    N'+7 900 000-00-01',
    N'worker1@hotel.local',
    N'worker1',

    HASHBYTES(
        'SHA2_256',
        CONVERT(NVARCHAR(4000), N'Worker123!')
    ),

    N'Сотрудник',
    1
);
*/

-- Пример: добавить администратора.

/*
INSERT INTO dbo.Users12
(
    FullName,
    Phone,
    Email,
    Login,
    PasswordHash,
    Role,
    IsActive
)
VALUES
(
    N'Администратор Гостиницы',
    N'+7 900 000-00-02',
    N'admin1@hotel.local',
    N'admin1',

    HASHBYTES(
        'SHA2_256',
        CONVERT(NVARCHAR(4000), N'Admin123!')
    ),

    N'Администратор',
    1
);
*/

-- Посмотреть пользователей.

SELECT
    UserID,
    FullName,
    Phone,
    Email,
    Login,
    Role,
    IsActive
FROM dbo.Users12
ORDER BY UserID;