sql server 存储过程如何返回一个集合啊?

createproceduresp_add_table1@table_result______asselect*fromtablereturn@table_result... create procedure sp_add_table1
@table_result ______
as
select * from table
return @table_result
展开
 我来答
衡修Di
2013-12-04 · TA获得超过213个赞
知道小有建树答主
回答量:193
采纳率:100%
帮助的人:84.7万
展开全部
对于@table_result, @后是自定义参数,不是返回值。

存储过程执行完成后会自动返回集合的,因为你执行的是一条select语句,不用return。
存储过程没有return语句
匿名用户
推荐于2018-05-14
展开全部

你需要的功能,  是不是 一个  叫做   “表值函数”  的东西?

SQL Server 通过 RETURN TABLE 来实现。 

1> CREATE FUNCTION getHelloWorld()
2> RETURNS TABLE
3> AS
4> RETURN
5>   SELECT 'Hello' AS A, 'World' AS B;
6> GO
1> SELECT * FROM getHelloWorld();
2> go
A     B
----- -----
Hello World

(1 行受影响)



如果返回的结果, 不是简单的一个 SQL 语句的, 而是比较复杂的业务逻辑的

CREATE FUNCTION getTestTable()
RETURNS @result  TABLE(A int, B int, C int) 
AS
BEGIN
  INSERT INTO @result VALUES(1, 2, 3);
  INSERT INTO @result VALUES(4, 5, 6);
  INSERT INTO @result VALUES(7, 8, 9);
  RETURN;
END;



SELECT * FROM getTestTable();

A B C
1 2 3
4 5 6
7 8 9
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式