首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

SQL Server2008中调用存储过程结果集的有关问题

2012-04-16 
SQL Server2008中调用存储过程结果集的问题我写了个存储过程是输出一个结果集,但是调用的时候缺只有一行数

SQL Server2008中调用存储过程结果集的问题
我写了个存储过程是输出一个结果集,但是调用的时候缺只有一行数据,看代码:

SQL code
USE tempdb;GOIF OBJECT_ID('a') IS NOT NULLDROP TABLE a;GO--创建表aCREATE TABLE a(a1 INT , a2 INT );GO--插入数据INSERT INTO a VALUES (1,1);INSERT INTO a VALUES (2,2);INSERT INTO a VALUES (3,3);INSERT INTO a VALUES (4,4);INSERT INTO a VALUES (5,5);GOIF OBJECT_ID('spa') IS NOT NULL DROP PROCEDURE spa;GO--创建spa过程CREATE PROCEDURE spa@a1 INT OUTPUT ,@a2 INT OUTPUT AS BEGIN    SELECT @a1=a1,@a2=a2 FROM a;END;GO--调用过程DECLARE @a1 INT ,        @a2 INT EXEC spa @a1 OUTPUT ,@a2 OUTPUT ;SELECT @a1,@a2;--结果显示(无列名)    (无列名)5    5

看只有一行数据,怎样才能调用这个结果集呢?高手请指点。

[解决办法]
SQL code
IF OBJECT_ID('spa') IS NOT NULL DROP PROCEDURE spa;GO--创建spa过程CREATE PROCEDURE spaAS BEGIN    SELECT a1,a2 FROM a;END;exec spa
[解决办法]
你的两个输出参数@a1,@a2都是int 类型,而你想返回一个结果集,有点矛盾哦

[解决办法]
探讨

引用:
你的两个输出参数@a1,@a2都是int 类型,而你想返回一个结果集,有点矛盾哦

那按照我的意思,应该怎样写这个SQL语句呢?是需要用到表值参数吗?

[解决办法]
用一个存储过程就OK了...
不行发一下你其它表结构及想要实现的功能.

热点排行