如何将具有默认值的列添加到SQL Server 2000/SQL Server 2005中的现有表中?
我在一些插入T-SQL查询中看到了前缀N. 许多人N在将值插入表中之前已经使用过.
我搜索过,但是我无法理解N在将任何字符串插入表格之前包括之前的目的是什么.
INSERT INTO Personnel.Employees
VALUES(N'29730', N'Philippe', N'Horsford', 20.05, 1),
Run Code Online (Sandbox Code Playgroud) 似乎至少有两种方法可以使用直接T-SQL添加默认约束.我是否正确,下面两者之间的唯一区别是第二种方法专门为约束创建一个名称,第一种方法有一个由SQL Server生成?
ALTER TABLE [Common].[PropertySetting] ADD DEFAULT ((1)) FOR [Active];
ALTER TABLE [Common].[PropertySetting] ADD CONSTRAINT [DF_PropertySetting_Active) DEFAULT ((1)) FOR [Active];
Run Code Online (Sandbox Code Playgroud) 如何更改列以删除默认值?
该列创建时使用:
ALTER table sometable Add somecolumn nchar(1) NOT NULL DEFAULT 'N'
Run Code Online (Sandbox Code Playgroud)
然后改为:
alter table sometable alter column somecolumn nchar(1) null
Run Code Online (Sandbox Code Playgroud)
这允许空值,但默认值仍然存在.你怎么能删除它?
我知道您可以更改现有列的默认值,如下所示:
ALTER TABLE Employee ADD CONSTRAINT DF_SomeName DEFAULT N'SANDNES' FOR CityBorn;
Run Code Online (Sandbox Code Playgroud)
但根据这个我的查询应该工作:
ALTER TABLE MyTable ALTER COLUMN CreateDate DATETIME NOT NULL
CONSTRAINT DF_Constraint DEFAULT GetDate()
Run Code Online (Sandbox Code Playgroud)
所以我在这里尝试使我的列不为Null并设置默认值.但在CONSTRAINT附近获取Incoorect语法错误.我错过了吗?
作为一个新手,我创造了一些没有明确名称的外键.
然后我创建了SQL生成的疯狂名字之类的FK__Machines__IdArt__760D22A7.猜猜它们将在不同的服务器上生成不同的名称.
是否有任何好的函数可以删除未命名的FK约束作为参数传递表和相关字段?
默认情况下,sql server为boolean字段分配NULL值.如何将其'0'用作默认值?我尝试将默认值设置为((0))但它仍然存在于NULL上.
我在 SQL Server 2008 R2 中有一个过程,我想将数据输入到 vol_Hours 列并在它之前检查它如果它不为空然后加上它在列中的旧数据的条目,如果它是空然后将条目添加到没有加上 NULL 值的列。我不能添加 2+NULL,因为它是 = NULL。我的代码是:
create procedure updateVolunteerHours
@vol_ID int, @vol_Hours int
As
if vol_Hours is NULL
-- vol_Hours it is the Column Name
Update Personal_Information set vol_Hours = @vol_Hours where vol_ID = @vol_ID
else
Update Personal_Information set vol_Hours = @vol_Hours + vol_Hours where vol_ID = @vol_ID
Run Code Online (Sandbox Code Playgroud) 我想将一个新列添加到已包含数据的现有表中.列应为NOT NULL.因为我想设置默认值.但是,当我这样做时抛出以下异常:"'''附近的语法不正确
ALTER TABLE Semester ADD SIDNew uniqueidentifier NOT NULL
CONSTRAINT DF_SIDNew DEFAULT '00000000-0000-0000-0000-000000000000' FOR SIDNew
Run Code Online (Sandbox Code Playgroud)
我已经看过如何设置现有列的默认值 和关键字'FOR'附近的错误语法,但它们都没有帮助我.