我不确定在创建新列时是否可以使用条件语句。在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