1. sql里删除 视图和索引 会对 表 产生 怎样的影响
视图的作用非常类似你在库中建立的实体表,如果你在你的程序中,或者SQL语句中,使用了视图,则系统提示你‘找不到该视图’。
索引最主要的用途是提高检索数据的速度,如果你的表字段很少,并且数据在1-5000行之内,你删除了索引是感觉不到有啥变化,如果你的数据上了10W条以上,有无索引的速度就非常明显了。
2. 数据库简单问题:为什么删除基本表的时候视图不会被删除高手详细解答下。。
视图和表没有根本的关系,视图相当于一个SQl语句,删除表,视图肯定是没有被删除!
3. 在SQL语言中,若是一个基本表的定义被删除,那么以下哪些也会自动删除
数据和此表的索引将不复存在了。
视图则不会自动更新。
视图是一个或者几个表构成的临时表吧。只能说视图失效了,但是不会删除
4. 在SQL数据库里手动删除表格或者修改表格和用语句修改数据会有记录的吗
如果有启用数据库日志,都会有记录存在。系统日志默认都是启用的,除非你强制给改了。
5. vfp中的视图删除对原数据有影响吗
没有有影响。
视图是从表中复制出来的一份复印版,有数据重组和筛选的等于是抄一份新版文档,增删改视图在原理上说是不能影响到数据原件的。
从视图上获得记录的关键字到原来的表上找到真身去做删除动作,然后再重新抄出一份视图。vfp9对之前版本的作了一点修改,可以从视图中删除数据,并影响到原表,标准的sql是没有的,这是vfp自己的扩展功能。
6. 从视图里删除数据,表里的数据也删除了吗(数据库:sql server2000)(数据库,或者。net高手回答...)
在数据库中只存放VIEW的定义,不存放VIEW的数据,数据都存放在TALBE中.所以删除VIEW只删除了定义,数据仍然在TABLE中.
解决你的问题可以直接删除表,或者给VIEW写个DELETE的触发器.
7. SQL在视图删除记录,相应的表的记录会删掉吗
会的,因为视图只是保存的结构,在上面的操作事实上都是对基础表的操作。
所以应慎重 .
你可以自己创建测试,来测试验证一下
8. 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 行受影响)
对于多表关联的视图, 删除的时候,需要人为的去判断
例如当 主表 和 子表,都只有一条记录的情况下。
无法判断 本次删除, 是要删除掉一个子表的记录,留下主表的。
还是 主表 子表的数据,一同删除。
9. 向SQL视图中“添加、删除、修改”会影响基表吗
当然会影响到基表。
视图能对查询出来的记录进行修改,并将修改后的数据回送到源表中。
如果是在vfp中,只要在视图设计器的“更新条件”选项卡中选中“发送SQL更新”,就可将修改后的数据回送到源表中。否则,数据不回送。
10. sql 删除视图中数据,为什么两个基表的数据都删除
视图是不能够执行删除操作的。可能是你操作错了