SQL视图和临时表的问题
3个回答
展开全部
视图是逻辑层面上的
就像你是1 班的. 而你又是学生会的. 那么. 学生会这边就不必再为你而新建信息. 它只要求能够指向你所在班级就可以了. 也就是说.你还是你. 只不过看的角度不同了.
它与临时表没有什么联系.
临时表 故名思义 ,它是临时的. 你与数据连接后,也就是产生了一个Session.
这个时候,我们可以创建一张临时性质的表 它与真正的表没有什么区别
,但是这张表就不会存储到正常的表空间中去,而是被临时放置而已.等到你断开数据库后,所谓的临时表的一切信息都会被丢弃.
形象一点,就像你打开了电脑,登陆了一个用户,存在硬盘上的东西是永久的(相当于表),而内存中的数据是临时的(相当于临时表),一旦你重启了.那么内存中的数据都会被丢掉.而硬盘上的数据依然还在.
不同的数据库,对临时表的操作在语法上会有一些不同
仅举一例:
declare @t1 table (
id int primary key,
name nvarchar(20),
tel nvarchar(20)
)
insert into @t1 values(1,'aa','123')
insert into @t1 values(2,'bb','234')
insert into @t1 values(3,'cc','567')
--select * from @t1
请参考
就像你是1 班的. 而你又是学生会的. 那么. 学生会这边就不必再为你而新建信息. 它只要求能够指向你所在班级就可以了. 也就是说.你还是你. 只不过看的角度不同了.
它与临时表没有什么联系.
临时表 故名思义 ,它是临时的. 你与数据连接后,也就是产生了一个Session.
这个时候,我们可以创建一张临时性质的表 它与真正的表没有什么区别
,但是这张表就不会存储到正常的表空间中去,而是被临时放置而已.等到你断开数据库后,所谓的临时表的一切信息都会被丢弃.
形象一点,就像你打开了电脑,登陆了一个用户,存在硬盘上的东西是永久的(相当于表),而内存中的数据是临时的(相当于临时表),一旦你重启了.那么内存中的数据都会被丢掉.而硬盘上的数据依然还在.
不同的数据库,对临时表的操作在语法上会有一些不同
仅举一例:
declare @t1 table (
id int primary key,
name nvarchar(20),
tel nvarchar(20)
)
insert into @t1 values(1,'aa','123')
insert into @t1 values(2,'bb','234')
insert into @t1 values(3,'cc','567')
--select * from @t1
请参考
ZESTRON
2024-09-04 广告
2024-09-04 广告
表面污染分析包括评估表面上存在的颗粒、残留物或物质。通过利用显微镜、光谱学和色谱法等技术,分析人员可以识别和表征污染物,以确定其成分和来源。这种分析在电子、制药和制造等各个行业中至关重要,以确保产品质量、性能和安全性。了解表面污染有助于实施...
点击进入详情页
本回答由ZESTRON提供
展开全部
那你可以用查询结果建一个新表 ,然后在新表上进行查询。
查询结果生成新表:selecr select_list into new_table from table_source
其中
select_list 是要查询的列
new_table就 是生成新表的名字
table_source 是要查询的表
然后创建视图:
create view view_name
as
select_condition
view_name 是你自己定义的视图的名字
select_condition 是查询语句
查询结果生成新表:selecr select_list into new_table from table_source
其中
select_list 是要查询的列
new_table就 是生成新表的名字
table_source 是要查询的表
然后创建视图:
create view view_name
as
select_condition
view_name 是你自己定义的视图的名字
select_condition 是查询语句
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
其实视图最典型的用途就是这样了,做起来也比较容易,不过楼主要求临时表,那么就试试吧,一般来说数据量大的用表快,不然就建视图,不知道楼主是用什么数据库的呢? 如果是ms sql server的话可以:
SELECT * INTO #TEMPTABLENAME
FROM
(
SELECT xxxxxx //你的查询语句
)AS table_source //这个别名是必须的
WHERE xxxxxxxx //你需要的where判断
;
COMMIT或ROLLBACK后可自动删除该临时表
可以参考
等网址
SELECT * INTO #TEMPTABLENAME
FROM
(
SELECT xxxxxx //你的查询语句
)AS table_source //这个别名是必须的
WHERE xxxxxxxx //你需要的where判断
;
COMMIT或ROLLBACK后可自动删除该临时表
可以参考
等网址
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询