2016-05-11 2 views
0

Есть ли у нас коллекции на SQL-сервере? как Oracle коллекции (ТИП)Замена коллекций в SQL Server

Для Eg:

create or replace TYPE OBJ_NUM_VARCHAR_REC AS OBJECT (NUMBER_1 number(10),VARCHAR_1 varchar2(30)); 

create or replace type OBJ_NUM_VARCHAR_TBL AS TABLE OF OBJ_NUM_VARCHAR_REC; 

Cursor C2 is select OBJ_NUM_VARCHAR_REC(O_ID, O_NAME) from Organization; 

Open C2; 
Fetch C2 BULK COLLECT into L_OBJ_NUM_VARCHAR_TBL; 
Close C2; 


for i in 1..L_OBJ_NUM_VARCHAR_TBL.count loop 
DBMS_OUTPUT.PUT(L_OBJ_NUM_VARCHAR_TBL(i).NUMBER_1||' '); 
DBMS_OUTPUT.PUT_LINE(L_OBJ_NUM_VARCHAR_TBL(i).VARCHAR_1); 
end loop; 

Это пример кода, как нам нужно написать в SQL Server?

ответ

0

Возможно, вы ищете параметры типа TABLE. Вы можете передать список строк с этим.

работы что-то вроде этого:

CREATE TYPE MyTableType AS TABLE 
(
    MyID INT NOT NULL 
) 
CREATE PROCEDURE MyProc 
    @MyParam MyTableType 
AS 
BEGIN 
    ... 
END 
+0

Но как я могу получить доступ к значениям в этом типе TABLE? Нужно ли мне снова писать команды выбора? @PhillipXT – Narendra

+0

Этот параметр используется так же, как и любая другая таблица. Например. 'SELECT MyID FROM @ MyParam' – PhillipXT

+0

Хорошо, спасибо :) – Narendra

Смежные вопросы