我不確定在創建新列時是否可以使用條件語句。在SQL服務器中創建一個if條件的列
代碼:
create table Employees(
Emp_ID int primary key identity (1,1),
Hours_worked int,
Rate int default '')
/*現在在這裏我想設置取決於工作時間不同速率的默認值。一樣,如果工作時間不超過8則率爲300,如果工作時間不超過8小時,價格爲200)如何寫爲SQL Server中的Default
值2008
我的第二個問題是:
爲什麼我得到錯誤,如果我這樣寫,
create table tbl_1(
col_1 varchar(max) unique
)
的錯誤是
Column 'col_1' in table 'tbl_1' is of a type that is invalid for use as a key column in an index.
Msg 1750, Level 16, State 0, Line 1
Registers Waqar
你的第一個問題。你沒有。默認值是列的默認值。這不是有條件的。你的第二個問題,你爲什麼會認爲你應該在varchar(max)上使用唯一的?這沒有任何意義。你可以使用唯一的,如果varchar有限制,但任何超過幾個字符是荒謬的無論如何。 – 2014-10-02 19:14:34
好吧,我明白了。但是有沒有什麼辦法可以爲費率增加條件。這是荒謬的,但是這個錯誤背後的原因是什麼? – 2014-10-02 19:16:20
原因是索引大小是900個字節,而varchar(max)可能比這個大得多。 – 2014-10-02 19:17:29