⑴ sql語言視圖更新
INSERT語句向視圖插入數據,但應該注意的是:插入的數據實際上存放在基表中,而不是視圖中;
updare好象不行,需要用到另一語句(忘了,呵呵)
⑵ sql 修改視圖的問題
「出生年份」列的值是由計算得來,不能在視圖中進行修改。
可以這樣修改視圖的定義和更新語句:
CREATE VIEW VIEW_1
AS
SELECT sname,sex,sage '出生年份'
FROM student
WHERE sex='男'
UPDATE VIEW_1
SET 出生年份=2011-23
WHERE sname='李軍'
⑶ sqlserver更新視圖語句怎麼寫
alter view
跟重建一樣
⑷ 如何用SQL語句創建一個視圖
使用create view語句就可以創建視圖了,具體語句如下:
create view viewname as select * from Tab_EdsProd(Tab_EdsProd是表的名字)where (後面可以接一線限制的條件)。
刪除視圖:drop view viewname。
(4)sql視圖的更新語句擴展閱讀
視圖的作用:
1、使用視圖,可以定製用戶數據,聚焦特定的數據。
2、使用視圖,可以簡化數據操作。
3、使用視圖,基表中的數據就有了一定的安全性。因為視圖是虛擬的,物理上是不存在的,只是存儲了數據的集合,我們可以將基表中重要的欄位信息,可以不通過視圖給用戶。
視圖是動態的數據的集合,數據是隨著基表的更新而更新。同時,用戶對視圖,不可以隨意的更改和刪除,可以保證數據的安全性。
4、使用視圖可以合並分離的數據,創建分區視圖。
⑸ plsql表更新後視圖未更新
plsql表更新後視圖未更新,可能是不匯總或數據被加工過
一般來說,通過視圖進行數據更新(INSERT、UPDATE、DELETE),只要該視圖是單純的SELECT語句定義的視圖即可。也就是說,如果是不匯總或數據被加工過而是直接顯示數據的視圖,一般可以通過該視圖來更新數據。在這種情況下,在資料庫側,將針對視圖的DML語句(INSERT、UPDATE、DELETE)自動轉換成表的DML語句,來更新數據。
但是,對於定義的復雜視圖,DML語句無法在資料庫側轉換成表的DML語句,因此會發生錯誤。這種情況下如果在資料庫側無法轉換成表的DML語句,我們也可以通過開發者准備的程序,轉換成表的DML語句,也可以實現對視圖的DML。那就是「INSTEAD OF 觸發器」
⑹ SQL視圖 更新問題
視圖本身是不保存數據的,每次對視圖查詢,會直接連到表上查詢
但是你這個問題,要根據你的視圖語句來做具體判斷的
比如視圖里有where條件,有group by等聚合函數等的話,原表數據變化了,視圖的數據也有可能不變化。
舉個例子吧:
A表
id type name
1 aa 張三
2 bb 李四
如果視圖是:
create view v_tab
as
select * from a where type = 'aa'
那這樣的話,在a表裡如果插入一條type = 『bb』的數據,視圖的數據就不會有變化
不知道這樣描述樓主清楚沒
⑺ SQL中視圖的創建。修改,刪除
1、創建視圖
CREATE [OR REPLACE] VIEW 視圖名(列1,列2...)
AS SELECT (列1,列2...)
FROM ...;
[WITH [CASCADED|LOCAL] CHECK OPTION]
(7)sql視圖的更新語句擴展閱讀:
SQL語言基本上獨立於資料庫本身、使用的機器、網路、操作系統,基於SQL的DBMS產品可以運行在從個人機、工作站到基於區域網、小型機和大型機的各種計算機系統上,具有良好的可移植性。
可以看出標准化的工作是很有意義的。早在1987年就有些有識之士預測SQL的標准化是「一場革命」,是「關系資料庫管理系統的轉折點」。
資料庫和各種產品都使用SQL作為共同的數據存取語言和標準的介面,使不同資料庫系統之間的互操作有了共同的基礎,進而實現異構機、各種操作環境的共享與移植。
參考資料:網路-SQL
⑻ sql server修改視圖的命令是
修改是增加視圖中沒有的列,還是更新這個視圖裡面的數據項
如果是修改其中的列的話,你可以試一下alter view語句:
alter view [視圖名] add [列名] //增加一個列
alter view [視圖名] drop column [列名] //刪除一個列
我覺得是這樣的,我沒在資料庫上做過實驗,增加的時候應該增加所建視圖參照表裡面已有的列,或許還會要求加上原來的表名。具體的你自己上機試一下就可以了
如果說的是更新操作,那就簡單了,INSERT ,UPDATE,DELETE,這些語句我都用過的。
希望可以幫助你,o(∩_∩)o
⑼ 利用sql語句如何更新視圖
更新視圖有以下三條規則:
(1) 若視圖是基於多個表使用聯接操作而導出的,那麼對這個視圖執行更新操作時,每次只能影響其中的一個表。
(2) 若視圖導出時包含有分組和聚合操作,則不允許對這個視圖執行更新操作。
(3) 若視圖是從一個表經選擇、投影而導出的,並在視圖中包含了表的主鍵字或某個候選鍵,這類視圖稱為『行列子集視圖』。對這類視圖可執行更新操作。
視圖只有滿足下列條件才可更新:
1、select語句在選擇列表中沒有聚合函數,也不包含TOP,GROUP BY,UNION(除非視圖是分區視圖)或DISTINCT子句。聚合函數可以用在FROM子句的子查詢中,只要不修改函數返回的值。
2、select語句的選擇列表中沒有派生列。派生列是由任何非簡單列表達式(使用函數、加法或減法運算符等)所構成的結果集列。
3、select語句中的FROM子句至少引用一個表。select語句不能只包含非表格格式的表達式(即不是從表派生出的表達式)。
4、INSERT,UPDATE和DELETE語句在引用可更新視圖之前,也必須如上述條件指定的那樣滿足某些限制條件。只有當視圖可更新,並且所編寫的UPDATE或INSERT語句只修改視圖的FROM子句引用的一個基表中的數據時,UPDATE和INSERT語句才能引用視圖。
只有當視圖在其FROM子句中只引用一個表時,DELETE語句才能引用可更新的視圖。
⑽ SQL中如何基於視圖進行添加,更新,刪除記錄
就像基於表進行插入,更新和刪除數據一樣,分別用insert, update, delete語句進行。
只是對視圖有些限制。具體的限制請參考聯機叢書。