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