本文介紹了如何在SQL Server中將函數設置為默認值?的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!
問題描述
我遇到麻煩了,請幫幫忙。
在搜索我的問題后,我決定在此處發布。
請查看下面的代碼,并告訴我是否可以將默認值設置為函數。
我想要做的是顯示我的第一列數據的前三個字符Product_Name
。
例如,我的第一列的名稱為Xperia
,我希望它的前三個字符顯示在我使用ALTER CODE創建的最后一列中。
我希望你能理解我說的話。
Xperia ----> Xpe
代碼為:
alter table dummy
add new_col varchar(250) default substring(first_column, 1, 3)
返回錯誤:
消息128,15級,狀態1,2行
此上下文中不允許使用名稱”First_Column”。有效的表達式包括常量、常量表達式和(在某些情況下)變量。不允許使用列名。
但是,我可以將getdate()
函數設置為默認值。
謝謝
推薦答案
您為什么要嘗試更改表?聽起來您需要VIEW
。
視圖可以添加額外的字段,只選擇前三個字符,并且不需要在每次UPDATE
或INSERT
數據時進行更新。例如:
CREATE VIEW Table_With_Truncated_Product_Name
AS
SELECT *, LEFT(Product_Name, 3) AS truncated_product_name
FROM Your_Table
但是,如果您不想使用VIEW
,則可以使用Computed Column。
在這種情況下,您需要更改表并添加字段:
ALTER TABLE Your_Table ADD truncated_product_name AS LEFT(Product_Name, 3)
雖然我目前無法訪問SQL Server以檢查它是否可以工作。
這篇關于如何在SQL Server中將函數設置為默認值?的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,