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 类型,而你想返回一个结果集,有点矛盾哦
[解决办法]
[解决办法]
用一个存储过程就OK了...
不行发一下你其它表结构及想要实现的功能.