我的要求是根據傳遞id從存儲過程返回用戶定義的表。如何從存儲過程返回用戶定義的表類型
首先我創造我的表類型:
CREATE TYPE test AS TABLE
(
id int not null,
name nvarchar(50) not null,
value nvarchar(50) not null
)
現在我定義我的存儲過程爲:
CREATE PROCEDURE [dbo].sp_test
@id int,
@racun_stavke dbo.test READONLY -- I need this as OUTPUT ?
AS
BEGIN
SET NOCOUNT ON;
/*FILL MY OUTPUT Type Table AS I LIKE and return*/
//enter code here
END
旁註:你應該** **不使用'sp_'前綴爲您的存儲過程。微軟已經保留了這個前綴以供自己使用(參見*命名存儲過程*)](http://msdn.microsoft.com/en-us/library/ms190669%28v=sql.105%29.aspx),以及你將來有可能冒着名字衝突的風險。 [這對你的存儲過程性能也是不利的](http://www.sqlperformance.com/2012/10/t-sql-queries/sp_prefix)。最好只是簡單地避免使用'sp_'並將其他內容用作前綴 - 或者根本沒有前綴! –