0

インターネットで見つけた例に従って、MS SQL Server 2008 で CLR ストアド プロシージャを実装する次の C# コードを作成しました。

public class Class1
{
    [Microsoft.SqlServer.Server.SqlProcedure]
    public static void CountStringLength(string inputString)
    {
        SqlContext.Pipe.Send(inputString.Length.ToString());            
    }
}

このプロシージャは、文字列をパラメーターとして取り、文字列内の文字数を出力します。

SQL からデータを取得するコードに取り組んできました。データを取得する方法に特別なことはありません。SQL サーバーに接続し、データを選択してから、接続を閉じます。このコードを SQL サーバーのストアド プロシージャまたはトリガー内で実行したいと考えています。

コードを既存の SQL コードとまったく同じように実行できると思います。つまり、SQL サーバーに接続し、データを選択してから、接続を閉じます。ただし、コードが SQL サーバー自体で実行されると、これは意味がありません。SQL サーバー上で実行されるコードで、サーバーをそれ自体に接続する必要があるのはなぜですか?!?!

私がやろうとしていることのベストプラクティスはありますか? ストアド プロシージャの実行に使用されるのと同じ接続を使用して、コード内の行を選択できますか?

4

1 に答える 1