Вызов хранимой процедуры с аргументом типа таблицы

Как вызвать хранимую процедуру, которая принимает табличный тип в качестве аргумента из 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"

0 ответов

Другие вопросы по тегам