2017-03-06 10 views
0

SQL Serverとのスラックの統合に取り組んでいます。私は余裕を持ってデータを送信する次の機能を持っています。SQL Server関数のクエリ結果を渡す

CREATE FUNCTION SlackChatPostMessage(
    @Token  nvarchar(max), 
    @Channel  nvarchar(max), 
    @Text  nvarchar(max), 
    @UserName nvarchar(max), 
    @IconUrl  nvarchar(max) 
) 
RETURNS TABLE(
    Ok   bit, 
    Channel  nvarchar(max), 
    TimeStamp nvarchar(max), 
    Error  nvarchar(max) 
) AS EXTERNAL NAME  SqlServerSlackAPI.UserDefinedFunctions.SlackChatPostMessage; 
GO 

私の目標はたるみするクエリの結果を送信することです。関数の@Text変数を使用して簡単なテキストを送信するのに成功しました。しかし、私は私は簡単なテキストの代わりにクエリの結果を渡すことができます実装することができません。

質問は明らかです。

解決策: 最も簡単な方法は、静的カーソルを作成し、ループを使用してすべての行をこの関数に渡すことです。

答えて

1

機能SlackChatPostMessageは、任意のテーブル変数の入力を取ることはありませんあなたのクエリは、テーブルを返した場合、それはあなたのクエリから単一の値の出力を使用すると、関数にそれを送信する前にこれを使用している場合、あなたは、そのテーブルの値を渡すカント

convert(nvarchar,(yourquery)) 
+0

ありがとうございました。私が得た1つの方法は、カーソルを使用することです。あれは正しいですか? – Bilal

+0

あなたはカーソルを使用してデータを1つずつ送信することを意味しますか? – Pream

+0

はい。やったよ。どうもありがとう! :) – Bilal

関連する問題