Как отправить параметр типа таблицы в процедуру SQL из ESQL? - PullRequest
0 голосов
/ 14 января 2019

У меня ошибка при попытке отправки данных в процедуру sql из процедуры esql, что я делаю неправильно? ошибка: не скалярный параметр передан хранимой процедуре (Я использую - odbc - sql server native client 11.0)

-- ms sql procedure  code:

    CREATE PROCEDURE [dbo].[P_INSERT_BULK_IIB_TEST]
         @tbl IIB_TBL_TYPE READONLY 
    AS
    BEGIN
           SET NOCOUNT ON;
           INSERT INTO [dbo].[test_bulk_insert] (IDNT_M)
           select * from @tbl
    END


    -- esql code (call):
       DECLARE I INTEGER 1;
       DECLARE NUM INTEGER 1;
       DECLARE ACount INTEGER;                 

       SET ACount = CARDINALITY(MainData.ns:B.ns:A[]);           
       WHILE I <= ACount DO

        declare A REFERENCE TO MainData.ns:B.ns:A[I];

        set Environment.col[NUM].IDNT_M = 1;

        SET I = I +1;

        SET NUM = NUM + 1;

       END WHILE;


      CALL InsertP(Environment.col[]);

    -- esql declare procedure :

    CREATE PROCEDURE InsertP(IN ponim REFERENCE)
    LANGUAGE DATABASE
    EXTERNAL NAME "dbo.P_INSERT_BULK_IIB_TEST";
    END MODULE;
...