我第一次尝试编写SQL触发器,但遇到了问题。
我有一个名为mytest的数据库,其中有一个名为customer的表。当有人注册时,会创建客户记录。在创建客户记录的注册表单上,可以选择添加医生姓名。
我在触发器中尝试做的是向医生发送一封简单消息的电子邮件"该客户说您是他们的医生,请您回复此电子邮件,说明是或否"。我的主要选择是自动执行此部分过程,以便在我使该部分工作后更新SQL表。
这是我到目前为止所写的内容
CREATE TRIGGER dbo.SEND_MAIL_TO_PRACTITIONER
ON dbo.mytest
AFTER INSERT
AS
BEGIN
DECLARE @PractitionerName VARCHAR(100)
DECLARE @body VARCHAR(100)
SET @PractitionerName=(SELECT PractitionerName FROM customer )
SET @body=(SELECT customername FROM customer)+' emailed us saying you were his doctor, please can you confirm yes or no'
IF @PractitionerName IS NOT NULL
BEGIN
EXEC msdb.dbo.sp_send_dbmail
@recipients = @PractitionerName,
@subject = 'TEST',
@body = @body;
END
END
GO
SQL执行但没有发送电子邮件。我还想将customername更改为FirstName和LastName字段的组合。
有人帮我指出了正确的方向吗?
答案 0 :(得分:1)
您需要首先在SQL服务器中启动邮件服务,考虑发送测试邮件..如果失败,请右键单击db mail选项检查邮件日志!
配置为文档