CREATE TABLE Encomenda
(
IdEncomenda INT NOT NULL,
NumEcomenda VARCHAR(100) NOT NULL,
QTDEncomenda DECIMAL(10,2) NOT NULL,
BonusEncomenda DECIMAL(10,2) NOT NULL,
IdDistribuidor INT NOT NULL,
IdVisita INT NOT NULL,
CONSTRAINT [PK_Encomenda_IdEncomenda] PRIMARY KEY (IdEncomenda)
)
CREATE TABLE Entrega
(
IdEntrega INT NOT NULL,
DataEntrega DATETIME NOT NULL,
IdEncomenda VARCHAR(100) NOT NULL,
IdProduto INT NOT NULL,
CONSTRAINT [PK_Entrega_IdEntrega] PRIMARY KEY (IdEntrega)
)
CREATE TABLE Visita
(
IdVisita INT NOT NULL,
DataVisita DATETIME ,
IdCliente INT NOT NULL,
IdVendedor VARCHAR(255) NOT NULL,
CONSTRAINT [PK_Visita_IdVisita] PRIMARY KEY (IdVisita)
)
ALTER TRIGGER [dbo].[Encomenda_Insert]
ON [dbo].[Encomenda]
AFTER INSERT
AS
BEGIN
SET NOCOUNT ON;
DECLARE @IdEncomenda INT,
@NumEcomenda VARCHAR(100),
@DataEntrega DATETIME
SELECT TOP 1
@IdEncomenda = a.IdEncomenda,
@NumEcomenda = NumEcomenda,
@DataEntrega = [DataEntrega]
FROM
inserted AS a
INNER JOIN
[dbo].[Entrega] AS b ON a.[IdEncomenda] = b.[IdEncomenda]
INNER JOIN
[dbo].[Visita] AS c ON a.[IdVisita] = c.[IdVisita]
DECLARE @BigBody VARCHAR(500) = CAST(@IdEncomenda AS VARCHAR(100)) + ' ' + CAST(@NumEcomenda AS VARCHAR(100)) + ' ' + CAST(@DataEntrega AS VARCHAR(100))
EXEC msdb.dbo.sp_send_dbmail
@profile_name = 'Dc'
,@recipients = 'danny17kx@gmail.com'
,@subject = 'A sua encomenda foi processada e aceite.'
,@body = @BigBody
,@importance ='HIGH'
,@body_format='HTML'
END
收到电子邮件后,给我发送错误的值或根本没有值。
我不知道这是怎么回事。如果您还有其他方法可以这样做