【发布时间】:2016-01-23 09:30:35
【问题描述】:
我的要求是根据传递的 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_前缀。微软有reserved that prefix for its own use (see Naming Stored Procedures),你确实会在未来某个时候冒着名称冲突的风险。 It's also bad for your stored procedure performance。最好只是简单地避免sp_并使用其他东西作为前缀 - 或者根本不使用前缀!
标签: sql sql-server stored-procedures sql-function