这个存储过程是在sqlserver环境下的,通过游标读取数据,得到结果放入临时表中,执行存储过程就得到临时表的内容。
/****
将游标遍历的结果集放入临时表中,最后读取临时表
****/
CREATE PROCEDURE [dbo].[cc]
AS
DECLARE @id VARCHAR(10)
/声明游标/
DECLARE cc CURSOR FOR SELECT id FROM type
/创建临时表*/
CREATE TABLE #lo
(
id INT,
age INT,
name VARCHAR(20),
type_id INT
)
/打开游标*/
OPEN cc
/执行游标 获取数据*/
FETCH NEXT FROM cc INTO @id
WHILE(@@FETCH_STATUS=0) //Fetch成功执行循环体
BEGIN
/** 将查询的结果放入临时表中**/
INSERT INTO #lo SELECT * FROM event
FETCH NEXT FROM cc INTO @id
END
/查询临时表的内容*/
SELECT * FROM #lo
/关闭游标*/
CLOSE cc
/释放游标*/
DEALLOCATE cc