相关疑难解决方法(0)

2648
推荐指数
39
解决办法
273万
查看次数

T-SQL语句中前缀N的含义是什么?

我在一些插入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)

sql t-sql sql-server

325
推荐指数
3
解决办法
26万
查看次数

用于添加默认约束的命令

似乎至少有两种方法可以使用直接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)

sql t-sql sql-server default-constraint

79
推荐指数
1
解决办法
5万
查看次数

如何从表中的列中删除默认值?

如何更改列以删除默认值?

该列创建时使用:

 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)

这允许空值,但默认值仍然存在.你怎么能删除它?

t-sql sql-server-2005

48
推荐指数
4
解决办法
6万
查看次数

更改列默认值

我知道您可以更改现有列的默认值,如下所示:

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 sql-server default-value notnull

22
推荐指数
4
解决办法
8万
查看次数

删除未命名的约束

作为一个新手,我创造了一些没有明确名称的外键.

然后我创建了SQL生成的疯狂名字之类的FK__Machines__IdArt__760D22A7.猜猜它们将在不同的服务器上生成不同的名称.

是否有任何好的函数可以删除未命名的FK约束作为参数传递表和相关字段?

sql

14
推荐指数
2
解决办法
1万
查看次数

位类型:默认为"0"而不是NULL

默认情况下,sql server为boolean字段分配NULL值.如何将其'0'用作默认值?我尝试将默认值设置为((0))但它仍然存在于NULL上.

sql-server

10
推荐指数
4
解决办法
4万
查看次数

检查 SQL SERVER 中的列是否为 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)

sql-server-2008-r2

3
推荐指数
1
解决办法
1万
查看次数

"for"SQL Server附近的语法不正确

我想将一个新列添加到已包含数据的现有表中.列应为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'附近的错误语法,但它们都没有帮助我.

sql sql-server ssms keyword

2
推荐指数
1
解决办法
974
查看次数