當前位置:首頁 » 編程語言 » sql視圖增加列
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql視圖增加列

發布時間: 2022-07-16 12:34:44

1. 在sql視圖中怎麼增加一列

只能編輯視圖,然後在後面加上新列名,沒有象表一樣的ADD COLUMN子句

2. 資料庫的視圖(VIEW)增加一個列是用UPDATE 還是INSERT 具體如何實現,請舉個例子

您好,CREATE VIEW
創建一個虛擬表,該表以另一種方式表示一個或多個表中的數據。CREATE VIEW 必須是查詢批處理中的第一條語句。

語法
CREATE VIEW [ < database_name > .] [ < owner > .] view_name [ ( column [ ,...n ] ) ]
[ WITH < view_attribute > [ ,...n ] ]
AS
select_statement
[ WITH CHECK OPTION ]

< view_attribute > ::=
{ ENCRYPTION | SCHEMABINDING | VIEW_METADATA }

參數
view_name

是視圖的名稱。視圖名稱必須符合標識符規則。可以選擇是否指定視圖所有者名稱。

column

是視圖中的列名。只有在下列情況下,才必須命名 CREATE VIEW 中的列:當列是從算術表達式、函數或常量派生的,兩個或更多的列可能會具有相同的名稱(通常是因為聯接),視圖中的某列被賦予了不同於派生來源列的名稱。還可以在 SELECT 語句中指派列名。

如果未指定 column,則視圖列將獲得與 SELECT 語句中的列相同的名稱。

說明 在視圖的各列中,列名的許可權在 CREATE VIEW 或 ALTER VIEW 語句間均適用,與基礎數據源無關。例如,如果在 CREATE VIEW 語句中授予了 title_id 列上的許可權,則 ALTER VIEW 語句可以將 title_id 列改名(例如改為 qty),但許可權仍與使用 title_id 的視圖上的許可權相同。

n

是表示可以指定多列的佔位符。

AS

是視圖要執行的操作。

select_statement

是定義視圖的 SELECT 語句。該語句可以使用多個表或其它視圖。若要從創建視圖的 SELECT 子句所引用的對象中選擇,必須具有適當的許可權。

視圖不必是具體某個表的行和列的簡單子集。可以用具有任意復雜性的 SELECT 子句,使用多個表或其它視圖來創建視圖。

在索引視圖定義中,SELECT 語句必須是單個表的語句或帶有可選聚合的多表 JOIN。

對於視圖定義中的 SELECT 子句有幾個限制。CREATE VIEW 語句不能:

包含 COMPUTE 或 COMPUTE BY 子句。

包含 ORDER BY 子句,除非在 SELECT 語句的選擇列表中也有一個 TOP 子句。

包含 INTO 關鍵字。

引用臨時表或表變數。
因為 select_statement 使用 SELECT 語句,所以在 FROM 子句中指定 <join_hint> 和 <table_hint> 提示是有效的。有關更多信息,請參見 FROM 和 SELECT。

在 select_statement 中可以使用函數。

select_statement 可使用多個由 UNION 或 UNION ALL 分隔的 SELECT 語句。

WITH CHECK OPTION

強制視圖上執行的所有數據修改語句都必須符合由 select_statement 設置的准則。通過視圖修改行時,WITH CHECK OPTION 可確保提交修改後,仍可通過視圖看到修改的數據。

WITH ENCRYPTION

表示 SQL Server 加密包含 CREATE VIEW 語句文本的系統表列。使用 WITH ENCRYPTION 可防止將視圖作為 SQL Server 復制的一部分發布。

SCHEMABINDING

將視圖綁定到架構上。指定 SCHEMABINDING 時,select_statement 必須包含所引用的表、視圖或用戶定義函數的兩部分名稱 (owner.object)。

不能除去參與用架構綁定子句創建的視圖中的表或視圖,除非該視圖已被除去或更改,不再具有架構綁定。否則,SQL Server 會產生錯誤。另外,如果對參與具有架構綁定的視圖的表執行 ALTER TABLE 語句,而這些語句又會影響該架構綁定視圖的定義,則這些語句將會失敗。

VIEW_METADATA

指定為引用視圖的查詢請求瀏覽模式的元數據時,SQL Server 將向 DBLIB、ODBC 和 OLE DB API 返回有關視圖的元數據信息,而不是返回基表或表。瀏覽模式的元數據是由 SQL Server 向客戶端 DB-LIB、ODBC 和 OLE DB API 返回的附加元數據,它允許客戶端 API 實現可更新的客戶端游標。瀏覽模式的元數據包含有關結果集內的列所屬的基表信息。

對於用 VIEW_METADATA 選項創建的視圖,當描述結果集中視圖內的列時,瀏覽模式的元數據返回與基表名相對的視圖名。

當用 VIEW_METADATA 創建視圖時,如果該視圖具有 INSERT 或 UPDATE INSTEAD OF 觸發器,則視圖的所有列(timestamp 除外)都是可更新的。請參見本主題後面的"可更新視圖"。

注釋
只能在當前資料庫中創建視圖。視圖最多可以引用 1,024 列。

通過視圖進行查詢時,Microsoft® SQL Server™ 將檢查以確定語句中任意位置引用的所有資料庫對象是否都存在,這些對象在語句的上下文中是否有效,以及數據修改語句是否沒有違反任何數據完整性規則。如果檢查失敗,將返回錯誤信息。如果檢查成功,則將操作轉換成對基礎表的操作。

如果某個視圖依賴於已除去的表(或視圖),則當有人試圖使用該視圖時,SQL Server 將產生錯誤信息。如果創建了新表或視圖(該表的結構與以前的基表沒有不同之處)以替換除去的表或視圖,則視圖將再次可用。如果新表或視圖的結構發生更改,則必須除去並重新創建該視圖。

3. 用SQL語言ALTER語句為視圖增加一列怎麼做

條件不全
現在僅假設lz的A、B、C三列來自同一個表--M
alter view S
as
select M.A,M.B,M.C,P.D from A,P

4. SQL server資料庫 ,在視圖裡面新加一個列怎麼加

新增列實際上就是對查詢的表中的內容進行修改,可以通過alter語句實現。
sql:alter view $viewname as select name, age from tablename;
解釋:此時實際上是重新定義了一個新視圖,覆蓋了之前的$viewname。

5. 怎樣在sql視圖里添加表中沒有的列,這個列可以通過計算得到

create view view1 select column1+column2 as total,column1,column2 from table.

6. sql 視圖 增加列

SQL 視圖是SQL資料庫中,多個或單個表的影射,所以,要給它增加或減少列,實質上是修正它的影射條件,讓它從相應的表中增加或減少影射對象。使用類似下面的alter語句實現影射條件的修正:alter view $viewname as select name, age from tablename;--$viewname 為要增減的視圖名--name, age 為相關欄位名--tablename 為SQL中的某表名sql 視圖 增加列

7. sql 視圖中需要 用代碼添加一列

select min(要操作的欄位[必須是數字類型的欄位列]) from 表名 where 要操作的欄位 <> 0