删除视图sql
Ⅰ 怎样删除视图中的全部数据 用sql语言编写。
删除视图用
dropview视图名;
但是数据没法删除,因为视图的数据来源于其他表或其他视图,只能通过删除其他表里的数据来删除所谓的视图数据。
视图简介:
计算机数据库中的视图是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。但是,视图并不在数据库中以存储的数据值集形式存在。行和列数据来自由定义视图的查询所引用的表,并且在引用视图时动态生成。也是机械制图术语,在机械制图中,将物体按正投影法向投影面投射时所得到的投影称为“视图”。
Ⅱ sql语言中删除一个视图的命令是
sql语言删除一个视图的命令是: drop view 视图名 ;
视图差不多类似一个别名,并不另外占用空间,非必要尽量不要删除吧,如果能查询顺手一点也是好的。
Ⅲ 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 变化的
视图本身是不包含数据的(物化视图除外,它是一个查询的快照)
Ⅳ 如何一次性删除 数据库 中的所有视图
以前我回答过类似问题,是批量删除表,跟你修改下,批量删除视图
--第一步,读取所有视图
select identity(int,1,1) flag,[name] names into #tmp
from sysobjects where xtype='v'
--第二步循环删除
declare @tb varchar(1000) ,@a int,@b int,@sql varchar(8000)
select @a=min(flag),@b=max(flag) from #tmp
while @a<=@b
begin
select @tb=names from #tmp where flag=@a
set @sql='drop view '''+@tb+''''
exec(@sql)
set @a=@a+1
end
Ⅳ 在SQL语言中,删除一个视图的命令是
DROP VIEW 视图的名字
Ⅵ sql删除视图和索引
多写个drop吧,中间通过分号隔开
Ⅶ 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 行受影响)
对于多表关联的视图, 删除的时候,需要人为的去判断
例如当 主表 和 子表,都只有一条记录的情况下。
无法判断 本次删除, 是要删除掉一个子表的记录,留下主表的。
还是 主表 子表的数据,一同删除。
Ⅷ 在sql中删除视图用什么命令
可以在对象资源管理器中找到要删除的视图,右键删除,也可以用命令删除,命令如下:
drop view 视图名
如有多个视图要删除,可在视图名后面后逗号隔开即可。
Ⅸ 求在sql中同时删除两个视图的语句
--呵呵 也不知道别的方法了
drop view view_name1
go
drop view view_name2
Ⅹ sql语句中删除视图的命令是
1.添加PRIMARY KEY(主键索引)
mysql>ALTER TABLE `table_name` ADD PRIMARY KEY ( `column` )
2.添加UNIQUE(唯一索引)
mysql>ALTER TABLE `table_name` ADD UNIQUE (
`column`
)
3.添加INDEX(普通索引)
mysql>ALTER TABLE `table_name` ADD INDEX index_name ( `column` )
4.添加FULLTEXT(全文索引)
mysql>ALTER TABLE `table_name` ADD FULLTEXT ( `column`)
5.添加多列索引
mysql>ALTER TABLE `table_name` ADD INDEX index_name ( `column1`, `column2`, `column3` )