0

テーブル型を引数として取るストアド プロシージャを OTL から呼び出すにはどうすればよいですか?

私のデータベースは次のようになります。

SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

DROP PROCEDURE IF Exists dbo.spTest
DROP TYPE IF Exists dbo.List

--- Create UDTT
CREATE TYPE dbo.List as TABLE
(
    k varchar(32) NOT NULL,
    v float NOt NULL
)
GO

CREATE PROCEDURE dbo.spTest
    @list List READONLY 
AS
    BEGIN
        SELECT * from @list     
    END
GO

--- Call spTEST

DECLARE @l List
INSERT INTO @l(k, v)
VALUES ('A', 1.0);

EXECUTE [dbo].[spTest]
      @list = @l
GO

C++ でコードを作成しようとしましたが、リスト引数の作成方法やリスト タイプの指定方法がわかりません

otl_stream i(50, // buffer size
    "{call dbo.spTest("
    " :list<char[32],in> "
    ")}",    
    db, // connect object
  );

更新: OTL Skuchin の監査人は、私的な電子メールで、あり得ないことを教えてくれました。「OTLはそれらをサポートしていません。できる最善の方法は、通常の挿入を介して一時テーブル/テーブル変数に一連の行を挿入し、SPでそれを読み取ることです」

4

0 に答える 0