怎么存储过程返回的数据集进行 “进一步操作”
如何存储过程返回的数据集进行 “进一步操作”
------解决方案--------------------
要么就存储过程包存储过程,要么插入表里面再操作
------解决方案--------------------
你的方法是对的 就是建立一个表 然后 INSERT INTO TB EXEC...
------解决方案--------------------
这个跟SQL Server没关系吧。难道Oracle就可以?
IF(OBJECT_ID('test') IS NOT NULL)
DROP TABLE test
CREATE TABLE test(Name VARCHAR(10),sex int)
INSERT test
VALUES
('zhangsan',1),
('lisi',0),
('wangwu',1)
GO
IF(OBJECT_ID('usp_GetStudents') IS NOT NULL)
DROP PROC usp_GetStudents
go
CREATE PROC usp_GetStudents
as
BEGIN
SELECT * FROM test
END
go
--新的表结构,增加了一个自动增长列 字段 id
DECLARE @test2 TABLE (id int identity(1,1),Name VARCHAR(10),sex int)
--?? 这里如果对于存储过程返回的数据集进行操作
INSERT test2
exec usp_GetStudents
最后要求结果:
1 zhangsan 1
2 lisi 0
3 wangwu 1
question:
1.我希望能够找到一种便捷的方式对于 存储过程返回的数据集进行操作
2.如果使用
insert into @table1 exec test1 2 的方法,获取table以后,再创建一个table2把 table1中的数据导入,
这样的中转方式,是否会耗费较多内存?
------解决方案--------------------
要么就存储过程包存储过程,要么插入表里面再操作
------解决方案--------------------
你的方法是对的 就是建立一个表 然后 INSERT INTO TB EXEC...
------解决方案--------------------
这个跟SQL Server没关系吧。难道Oracle就可以?