sql >> データベース >  >> RDS >> Sqlserver

SQL Server 2008 のトリガーとストアド プロシージャを使用して SMS を送信する

    ALTER TRIGGER [dbo].[mytrigger] ON [dbo].[smslog] AFTER INSERT AS Declare @MobileNo int Declare @smstext as varchar(300) Begin set @MobileNo =(挿入されたモバイルを選択) set @smstext =(挿入された smstext を選択) set @sResponse ='test' Exec pr_SendSmsSQL @MobileNo, @smstext, @sResponse END   

    手順

    create procedure [dbo].[pr_SendSmsSQL] @MobileNo varchar(12), @smstext as varchar(300), @sResponse varchar(1000) OUT as BEGIN Declare @iReq int,@hr int Declare @sUrl as varchar(500) DECLARE @errorSource VARCHAR(8000) DECLARE @errorDescription VARCHAR(8000) -- XMLHTTP のオブジェクトを作成 EXEC @hr =sp_OACreate 'Microsoft.XMLHTTP', @iReq OUT print @hr if @hr <> 0 Raiserror( 'sp_OACreate Microsoft.XMLHTTP FAILED!', 16, 1) **set @sUrl='http://api.clickatell.com/http/sendmsg?user=devendar&password=csx19csx&api_id=3360313&to=#MobNo#&text=#Msg# '**   

    **API が正しく動作していません - 残りのコードは優れており、うまく機能しています**

     set @sUrl=REPLACE(@sUrl,'#MobNo#',@MobileNo) set @sUrl=REPLACE(@sUrl,'#Msg#',@smstext) print @sUrl -- SMS コード開始EXEC @hr =sp_OAMethod @iReq, 'Open', NULL, 'GET', @sUrl, true @hr if @hr <> 0 Raiserror('sp_OAMethod Open FAILED!', 16, 1) EXEC @hr =sp_OAMethod @ iReq, 'send' select @iReq print @hr if @hr <> 0 Begin EXEC sp_OAGetErrorInfo @iReq, @errorSource OUTPUT, @errorDescription OUTPUT SELECT [Error Source] =@errorSource, [Description] =@errorDescription Raiserror('sp_OAMethod Send FAILED!', 16, 1) end else Begin EXEC @hr =sp_OAGetProperty @iReq,'responseText', @sResponse OUT print @hr insert into send_log (Id, mobile, sendtext, response, created, createddate) values(0, @ MobileNo、@smstext、@sResponse、「システム」、GETDATE())endend  


    1. SQLビューを使用したMicrosoftAccessでのデータの追加/編集

    2. Oracleでのグローバル一時テーブルの作成

    3. 国際的および多言語目的のデータベースモデリング

    4. カスタムmysqlはフィールド値でソート