2016-05-11 40 views
0

我們有SQL服務器中的集合嗎?像Oracle集合(TYPE)SQL Server中的集合替換

對於如:

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

但我怎麼能訪問值?我是否需要再次寫入select語句? @PhillipXT – Narendra

+0

您可以像使用其他表一樣使用該參數。例如。 'SELECT MyID FROM @ MyParam' – PhillipXT

+0

好的,謝謝:) – Narendra