当前位置:首页 » 编程语言 » sql删除视图数据
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sql删除视图数据

发布时间: 2023-01-05 17:59:20

A. sql语句中删除视图的命令是

sql中delete,drop
,truncate都代表删除,但3者又有一些区别
1.
truncate和
delete只删除数据不删除表的结构(定义)
drop语句将删除表的结构被依赖的约束(constrain),触发器(trigger),索引(index);
依赖于该表的存储过程/函数将保留,但是变为invalid状态.
2.delete语句是dml,这个操作会放到rollback
segement中,事务提交之后才生效;如果有相应的trigger,执行的时候将被触发.
truncate,drop是ddl,
操作立即生效,原数据不放到rollback
segment中,不能回滚.
操作不触发trigger.
3.delete语句不影响表所占用的extent,
高水线(high
watermark)保持原位置不动
显然drop语句将表所占用的空间全部释放
truncate
语句缺省情况下见空间释放到
minextents个
extent,除非使用reuse
storage;
truncate会将高水线复位(回到最开始).
4.速度,一般来说:
drop>;
truncate
>;
delete
5.安全性:小心使用drop
和truncate,尤其没有备份的时候.否则哭都来不及
使用上,想删除部分数据行用delete,注意带上where子句.
回滚段要足够大.
想删除表,当然用drop
想保留表而将所有数据删除.
如果和事务无关,用truncate即可.
如果和事务有关,或者想触发trigger,还是用delete.
如果是整理表内部的碎片,可以用truncate跟上reuse
stroage,再重新导入/插入数据
在实际应用中,三者的区别是明确的。
当你不再需要该表时,

drop;
当你仍要保留该表,但要删除所有记录时,

truncate;
当你要删除部分记录时(always
with
a
where
clause),

delete.
而alter是对表结构的修改.
希望对你理解有帮助。

B. sql数据库删除视图来源表后视图还存在吗

不存在。sql数据库删除视图来源表后视图不存在,SQL (Structured Query Language) 是具有数据操纵和数据定义等多种功能的数据库语言,这种语言具有交互性特点,能为用户提供极大的便利。

C. sql视图中的数据怎么清空

删除视图用
1
drop view 视图名;
但是数据没法删除,因为视图的数据来源于其他表或其他视图,只能通过删除其他表里的数据来删除所谓的视图数据。
视图简介:
计算机数据库中的视图是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。但是,视图并不在数据库中以存储的数据值集形式存在。行和列数据来自由定义视图的查询所引用的表,并且在引用视图时动态生成。也是机械制图术语,在机械制图中,将物体按正投影法向投影面投射时所得到的投影称为“视图”。

D. sql怎么清空视图

视图是动态查询你的表的结果的,不能清空。
举个例子:
create view emp_dept_view
as
select emp.*,dept.dname,dept.loc from emp
inner join dept on emp.deptno=dept.deptno
那么视图查询出来的结果随着emp,dept 变化的
视图本身是不包含数据的(物化视图除外,它是一个查询的快照)

E. SQL中视图的创建。修改,删除

1、创建视图

CREATE [OR REPLACE] VIEW 视图名(列1,列2...)

AS SELECT (列1,列2...)

FROM ...;

[WITH [CASCADED|LOCAL] CHECK OPTION]

(5)sql删除视图数据扩展阅读:

SQL语言基本上独立于数据库本身、使用的机器、网络、操作系统,基于SQL的DBMS产品可以运行在从个人机、工作站到基于局域网、小型机和大型机的各种计算机系统上,具有良好的可移植性。

可以看出标准化的工作是很有意义的。早在1987年就有些有识之士预测SQL的标准化是“一场革命”,是“关系数据库管理系统的转折点”。

数据库和各种产品都使用SQL作为共同的数据存取语言和标准的接口,使不同数据库系统之间的互操作有了共同的基础,进而实现异构机、各种操作环境的共享与移植。

参考资料:网络-SQL

F. 在sql中删除视图用什么命令

可以在对象资源管理器中找到要删除的视图,右键删除,也可以用命令删除,命令如下:
drop view 视图名
如有多个视图要删除,可在视图名后面后逗号隔开即可。

G. sql问题删除视图中的数据,表中的数据会删除吗

如果你那个视图,是 单表的, 没写 触发器的。

那么 如果 删除视图中的数据 成功了,那么 表中的数据 就被删除了。

如果那个视图, 写了个 INSTEAD OF 触发器. 但是里面没有任何删除的动作。
那么 可能你 DELETE FROM 视图, 最后表的数据,一点也没变化, 也是可以的。

1> CREATE VIEW v_main_sub AS
2> SELECT
3> test_main.id AS main_id,
4> test_main.value AS main_value,
5> test_sub.id AS sub_id,
6> test_sub.value AS sub_value
7> FROM
8> test_main, test_sub
9> WHERE
10> test_main.id = test_sub.main_id;
11> go

1> SELECT * FROM v_main_sub;
2> go
main_id main_value sub_id sub_value
----------- ---------- ----------- ----------
1 ONE 1 ONEONE
2 TWO 2 TWOTWO

(2 行受影响)

1> UPDATE v_main_sub
2> SET main_value='ONX'
3> WHERE main_id = 1;
4> go

(1 行受影响)

1> UPDATE v_main_sub
2> SET sub_value='ONXONX'
3> WHERE main_id = 1;
4> go

(1 行受影响)

1> DELETE FROM v_main_sub WHERE main_id = 1;
2> go
消息 4405,级别 16,状态 1,服务器 GMJ-PC\SQLEXPRESS,第 1 行
视图或函数 'v_main_sub' 不可更新,因为修改会影响多个基表。

1> CREATE TRIGGER v_main_sub_trigger
2> ON v_main_sub
3> INSTEAD OF DELETE
4> AS
5> DECLARE
6> @main_id INT,
7> @sub_id INT;
8> BEGIN
9> SELECT @main_id=main_id, @sub_id=sub_id FROM deleted;
10>
11>
12> PRINT(@main_id);
13> PRINT(@sub_id);
14> END;
15> go

1> DELETE FROM v_main_sub WHERE main_id = 1;
2> go
1
1

(1 行受影响)
1> DELETE FROM v_main_sub WHERE sub_id = 1;
2> go
1
1

(1 行受影响)

对于多表关联的视图, 删除的时候,需要人为的去判断
例如当 主表 和 子表,都只有一条记录的情况下。
无法判断 本次删除, 是要删除掉一个子表的记录,留下主表的。
还是 主表 子表的数据,一同删除。

H. sql语言中删除一个视图的命令是

sql语言删除一个视图的命令是: drop view 视图名 ;
视图差不多类似一个别名,并不另外占用空间,非必要尽量不要删除吧,如果能查询顺手一点也是好的。

I. SQL中视图的创建。修改,删除

  • 创建视图

CREATE [OR REPLACE] VIEW 视图名(列1,列2...)

AS SELECT (列1,列2...)

FROM ;

[WITH [CASCADED|LOCAL] CHECK OPTION]

  • 修改视图

CREATE OR REPLACE VIEW 视图名 AS SELECT [ ] FROM [ ];

[WITH [CASCADED|LOCAL] CHECK OPTION]

  • 删除视图

drop view 视图名称

(9)sql删除视图数据扩展阅读:

  • 查看视图

show tables;

desc 视图名

  • 查看视图定义

show create view 视图名称G

  • 通过视图变更数据

insert into 视图名

update 视图名

[WITH [CASCADED|LOCAL] CHECK OPTION] 决定了是否允许更新数据记录不再满足视图的条件。

local只要满足本视图的条件就可以更新

cascaded则必须满足所有针对该视图的所有视图的条件才可以更新,默认是cascaded。

为了防止通过视图修改导致数据无故丢失,建议加上WITH CHECK OPTION

参考资料来源:网络-SQL语句

J. SQL实战新手入门:删除视图

删除视图

与查询不同 视图是一个永久的数据库对象 必须像删除对象一样删除视图 删除视图时 使用的语法与删除其他数据库对象的语法非常类似

DROP VIEW vwBooksONshelves;

对于不同的RDBMS 在DROP VIEW语句中可以指定一些额外的选项 可以在DROP VIEW语句中使用CASCADE和RESTRICT这两个关键字 CASCADE关键字指示RDBMS删除依赖于该视图的所有其他对象 RESTRICT关键字则指示RDBMS只要还有依赖于该视图的对象存在 就阻止执行该DROP VIEW语句 然而并非每一种数据库都支持这些语句 一旦视图被删除 依赖于该视图的所有其他对象都将变为无效 删除一个视图并不会影响到底层对象中的数据

返回目录 SQL实战新手入门

编辑推荐

Oracle索引技术

高性能MySQL

lishixin/Article/program/SQL/201311/16460