5

この手続きをしました..

ALTER PROCEDURE [dbo].[MyProcedure]
            @pSelect nvarchar
AS
BEGIN
    SET NOCOUNT ON;

    select @pSelect from tabel1
END

C# コードのような選択クエリをこのストアド プロシージャに渡したい

MyProcedure("column1,column2");

ストアド プロシージャはパラメーターを文字列として扱い、次のように動作するため、これを行うにはどうすればよいですか

select N'column1,column2' from tabel1

助けてください

または、これにより良いオプションを提供します

4

3 に答える 3

0

@pSelectクエリ全体がある場合:

ALTER PROCEDURE [dbo].[MyProcedure]
            @pSelect nvarchar
AS
BEGIN
    SET NOCOUNT ON;    
    -- If you are@pSelect is having entire query
    exec (@pSelect)

    -- If you are passing only field list then following
    DECLARE @SQL nvarchar(max)

    SET @SQL = 'select ' + @pSelect + ' from tabel1';
END
于 2013-08-28T05:29:38.670 に答える