请教个sql数据库问题
来源:百度知道 编辑:UC知道 时间:2024/07/18 14:28:16
请教个sql 语句
在存储过程里
select * from mytable where name='123'
可不可以把这条语句的查询结果虚拟成一张表 a
在存储过程里以后用的时候就 就直接 去a表里做筛选
好像视图可以实现?但我不太懂
如果在存储过程中创建了视图那么 过程执行结束后视图还在么?
请给我详细代码 谢谢
在存储过程里
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 #####(你要声明一个记录集变量)