本文共 1253 字,大约阅读时间需要 4 分钟。
创建Insert触发器
USE [appsmart] GO /****** Object: Trigger [dbo].[notify_trigger] Script Date: 01/25/2017 09:31:28 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ----------------创建触发器 ALTER TRIGGER [dbo].[notify_trigger] ON [dbo].[Table_Test] AFTER INSERT AS BEGIN DECLARE @userName NVARCHAR(20) --Insert触发器 下面为inserted相当于触发器的一个虚拟插入表 set @userName=(select inserted.userName from inserted) EXEC testProPush @userName —调用存储过程并传参 如果传入的参数未变则不会触发 END创建存储过程
USE [appsmart] GO /****** Object: StoredProcedure [dbo].[testPro] Script Date: 01/25/2017 09:18:57 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER PROCEDURE [dbo].[testPro]( @userName varchar(50) ) AS BEGIN declare @ServiceUrl as varchar(1000) PRINT ‘http://192.168.0.124:8080/overhaul/iosPush.action?deviceToken=’+@userName —触发触发时传过来的参数 set @ServiceUrl=‘http://192.168.0.124:8080/overhaul/iosPush.action?deviceToken=’+@userName Declare @Object as Int Declare @ResponseText as Varchar(8000) Exec sp_OACreate’MSXML2.XMLHTTP’,@Object OUT; Exec sp_OAMethod @Object, ‘open’,NULL,‘get’,@ServiceUrl,‘false’ Exec sp_OAMethod @Object,‘send’ Exec sp_OAMethod @Object,‘responseText’,@ResponseText OUTPUT Select @ResponseText Exec sp_OADestroy @Object END相当于mysql来说sqlsever触发器调用http步骤相对比较简单
转载地址:http://kjnab.baihongyu.com/