请教个sql数据库问题

来源:百度知道 编辑:UC知道 时间:2024/07/18 14:28:16
请教个sql 语句
在存储过程里
select * from mytable where name='123'
可不可以把这条语句的查询结果虚拟成一张表 a

在存储过程里以后用的时候就 就直接 去a表里做筛选
好像视图可以实现?但我不太懂
如果在存储过程中创建了视图那么 过程执行结束后视图还在么?

请给我详细代码 谢谢

在存储过程里以后用的时候就 就直接 去a表里做筛选
好像视图可以实现?但我不太懂
如果在存储过程中创建了视图那么 过程执行结束后视图还在么?

请给我详细代码 谢谢
--------------------
楼主的需求应该是生成临时表如:

declare @Name='123'
select * into #mytable from mytable where name=@Name

select * from #mytable --引用

select * from mytable where name='123'

这就是一个视图,视图就是一张虚拟的表,从真实表中取数据,视图读取后还是存在的。

CREATE VIEW dbo.vwGbook
AS
select * from mytable where name='123'

可以
create view v1 as
select * from mytable where name='123';
但是建议不要这样用,因为过程执行结束后视图还在.
而这个语句只需要执行一次。

很简单啊,可以设定游标啊,如下
declare cursor_name cursor
select * from mytable where name='123'
下次使用时
OPEN cursor_name
FETCH NEXT FROM cursor_name
INTO #####(你要声明一个记录集变量)