簡體   English   中英

在存儲過程中使用插入語句從一個表中復制一些信息,並從VBA插入新信息

[英]Using an insert statement in stored procedure to copy some info from one table and insert new info from VBA

我正在創建一個存儲過程,該過程將復制表1中的某些列並將其值插入表2的新條目中。同時,需要使用日期更新表2的新條目中的4列,用戶名,以及來自VBA用戶表單上按鈕的兩個變量。

我知道如何單獨執行這些操作,但是我不確定如何使它們協同工作。 我可以做出兩個聲明,但是我都需要它們都轉到表2上的同一條目,而不是兩個單獨的條目。

這是我要合並為一個存儲過程以通過VBA按鈕單擊創建一個新條目的兩條語句。

SET IDENTITY_INSERT [PIA].[dbo].[AttendanceHistory] ON 
INSERT INTO [PIA].[dbo].[AttendanceHistory] (FirstName, LastName, AgentName, Location,
              EmployeeGroup, ContractAgency, Manager, Supervisor, Team, Title, Position, 
              Staffcimid, FTPT, Bilingual, Five9Email, Email, Weekdayschedule, 
              Weekendschedule, CreatedBy, CreatedDate, Exception, Exceptionreason)
SELECT FirstName, LastName, AgentName, Location, EmployeeGroup, ContractAgency, Manager, 
       Supervisor,Team, Title, Position, Staffcimid, FTPT, Bilingual, Five9Email, Email, 
       Weekdayschedule, Weekendschedule
FROM dbo.Attendance WHERE dbo.Attendance.Agentname = @Agent

Set [CreatedDate] = GETDATE and 
    [CreatedBy] = @userid and 
    [Exception] = @except and 
    [ExceptionReason] = @Exceptreason 

看看是否有幫助:)

INSERT INTO [PIA].[dbo].[AttendanceHistory] (FirstName,LastName,AgentName,Location,EmployeeGroup,ContractAgency,Manager,Supervisor,Team,Title,Position,Staffcimid,FTPT,Bilingual,Five9Email,Email,Weekdayschedule,Weekendschedule,CreatedBy,CreatedDate,Exception,Exceptionreason)
SELECT FirstName,LastName,AgentName,Location,EmployeeGroup,ContractAgency,Manager,Supervisor,Team,Title,Position,Staffcimid,FTPT,Bilingual,Five9Email,Email,Weekdayschedule,Weekendschedule, GETDATE() , @userid, @except, @Exceptreason
FROM dbo.Attendance WHERE dbo.Attendance.Agentname = @Agent

最好的方法是在select子句中傳遞變量,如下所示:

INSERT INTO [PIA].[dbo].[AttendanceHistory] (FirstName, LastName, AgentName, Location,
              EmployeeGroup, ContractAgency, Manager, Supervisor, Team, Title, Position, 
              Staffcimid, FTPT, Bilingual, Five9Email, Email, Weekdayschedule, 
              Weekendschedule, CreatedBy, CreatedDate, Exception, Exceptionreason)
SELECT FirstName, LastName, AgentName, Location, EmployeeGroup, ContractAgency, Manager, 
       Supervisor,Team, Title, Position, Staffcimid, FTPT, Bilingual, Five9Email, Email, 
       Weekdayschedule, Weekendschedule, GETDATE() , @userid, @except, @Exceptreason
FROM dbo.Attendance WHERE dbo.Attendance.Agentname = @Agent

GETDATE() , @userid, @except, @Exceptreason以及表Attendence列列表一起添加,從而得到恆定字段。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM