【发布时间】:2016-10-12 17:49:45
【问题描述】:
有没有办法从作为参数传递给存储过程的“用户定义的表类型”中选择前 1 行?
CREATE TYPE t1 as TABLE
(
id INT,
name VARCHAR(100)
)
SP
CREATE STORED PROCEDURE sp1
(
@type dbo.t1 as READONLY
)
BEGIN
SELECT TOP 1 name FROM @type
END
有什么想法吗?
【问题讨论】:
-
从@type 而非 t1 中选择
-
纠正语法错误并删除无关内容,这将起作用:
CREATE PROCEDURE sp1 @type dbo.t1 READONLY AS SELECT TOP 1 name FROM @type;。请注意,没有ORDER BY的TOP可以从表中选择任意行;它不是确定性的。
标签: sql-server user-defined-types