2016-09-29 2 views
2

я хотел бы, чтобы вставить собственные значения вместе с столбцами таблицы, когда я выполнить INSERT INTO ...SELECT FROM ... WHERE пунктКак вставить пользовательские значения при выполнении INSERT INTO ... SELECT FROM

INSERT INTO RoleMappingEmployee_Delete_History (
    RoleMappingEmployeeKey, 
    SrKey, 
    RoleKey, 
    SubmittedDate, 
    SubmittedBy, 
    IsActive, 
    DeletedBy, 
    DeletedDateTime) 
SELECT 
    RoleMappingEmployeeKey, 
    SrKey, 
    RoleKey, 
    SubmittedDate, 
    SubmittedBy, 
    IsActive, 
    DeletedBy, 
    DeletedDateTime 
FROM 
    RoleMappingEmployee 
WHERE 
    RoleMappingEmployeeKey IN (25902,38188,25887) 

я хотел бы вставить значения для DeletedBy,DeletedDateTime с пользовательским значения

+1

Просто выберите литералы вместо этих двух столбцов. – jarlh

+0

сначала определить пользовательские значения –

+0

Почему вы хотите настроить записи журнала (DeletedBy, ...)? – p2k

ответ

4
INSERT INTO RoleMappingEmployee_Delete_History (
    RoleMappingEmployeeKey, 
    SrKey, 
    RoleKey, 
    SubmittedDate, 
    SubmittedBy, 
    IsActive, 
    DeletedBy, 
    DeletedDateTime) 
SELECT 
    RoleMappingEmployeeKey, 
    SrKey, 
    RoleKey, 
    SubmittedDate, 
    SubmittedBy, 
    IsActive, 
    'peter', 
    getdate() 
FROM 
    RoleMappingEmployee 
WHERE 
    RoleMappingEmployeeKey IN (25902,38188,25887) 
0

Вы также можете установить DeletedBy с помощью функции ORIGINAL_LOGIN, он возвращает имя пользователя, выполняющего операцию и поможет избежать установки значение при каждом или параметр для этого. Аналогичным образом вы можете использовать альтернативу в DeletedDateTime, используя CURRENT_TIMESTAMP, как показано ниже:

INSERT INTO RoleMappingEmployee_Delete_History (
    RoleMappingEmployeeKey, 
    SrKey, 
    RoleKey, 
    SubmittedDate, 
    SubmittedBy, 
    IsActive, 
    DeletedBy, 
    DeletedDateTime) 
SELECT 
    RoleMappingEmployeeKey, 
    SrKey, 
    RoleKey, 
    SubmittedDate, 
    SubmittedBy, 
    IsActive, 
    ORIGINAL_LOGIN(), 
    CURRENT_TIMESTAMP 
FROM 
    RoleMappingEmployee 
WHERE RoleMappingEmployeeKey IN (25902,38188,25887) 
Смежные вопросы