相关疑难解决方法(0)

如何为现有列设置默认值

这在SQL Server 2008中不起作用:

ALTER TABLE Employee ALTER COLUMN CityBorn SET DEFAULT 'SANDNES'
Run Code Online (Sandbox Code Playgroud)

错误是:

关键字"SET"附近的语法不正确.

我究竟做错了什么?

t-sql sql-server default-value sql-server-2008

350
推荐指数
11
解决办法
61万
查看次数

将SQL Server中的datetime字段的默认值添加到时间戳

我有一个表收集从我们网站提交的表单,但由于某种原因,当他们创建表时,他们没有在表中添加时间戳.我希望它输入记录输入的确切日期和时间.

我知道它在某处,但我似乎无法找到如何设置默认值(如在Access中,你使用getNow()Now())但我不知道在哪里放它.

sql-server datetime

243
推荐指数
8
解决办法
66万
查看次数

更改表添加多列ms sql

谁能告诉我以下查询中的错误在哪里?

ALTER TABLE Countries
ADD ( 
HasPhotoInReadyStorage  bit,
 HasPhotoInWorkStorage  bit,
 HasPhotoInMaterialStorage bit,
 HasText  bit);

ALTER TABLE Regions
ADD ( HasPhotoInReadyStorage  bit,
 HasPhotoInWorkStorage  bit,
 HasPhotoInMaterialStorage bit
 HasText  bit);

ALTER TABLE Provinces
ADD ( HasPhotoInReadyStorage  bit,
 HasPhotoInWorkStorage  bit,
 HasPhotoInMaterialStorage bit
 HasText  bit);


ALTER TABLE Cities
ADD ( HasPhotoInReadyStorage  bit,
 HasPhotoInWorkStorage  bit,
 HasPhotoInMaterialStorage bit
 HasText  bit);

Alter table Hotels
Add 
{
 HasPhotoInReadyStorage  bit,
 HasPhotoInWorkStorage  bit,
 HasPhotoInMaterialStorage bit,
 HasHotelPhotoInReadyStorage  bit,
 HasHotelPhotoInWorkStorage  bit,
 HasHotelPhotoInMaterialStorage bit,
 HasReporterData  bit,
 HasMovieInReadyStorage  bit,
 HasMovieInWorkStorage  bit,
 HasMovieInMaterialStorage bit
};
Run Code Online (Sandbox Code Playgroud)

我收到以下错误: …

sql-server-2005

132
推荐指数
5
解决办法
33万
查看次数

78
推荐指数
7
解决办法
19万
查看次数

使用当前日期作为列的默认值

有没有办法DateTime.Now在Sql Server中设置列的默认值?

例:

table Event
Id int (auto-increment) not null
Description nvarchar(50) not null
Date datetime not null
Run Code Online (Sandbox Code Playgroud)

这条线:

Insert into Event(Description) values('teste');
Run Code Online (Sandbox Code Playgroud)

应该插入一行,Date值应该是当前日期.

sql sql-server

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

代码优先迁移:如何为新属性设置默认值?

我使用EF6 report在我的数据库中存储该类的实例.数据库已包含数据.说我想添加一个属性report,

public class report {
    // ... some previous properties

    // ... new property:
    public string newProperty{ get; set; }
}
Run Code Online (Sandbox Code Playgroud)

现在,如果我转到包管理器控制台并执行

add-migration Report-added-newProperty
update-database
Run Code Online (Sandbox Code Playgroud)

我将在'/ Migrations'文件夹中获取一个文件,newProperty向表中添加一列.这很好用.但是,对于数据库中较旧的条目,该值newProperty现在为空字符串.但我希望它是,例如,"老".

所以我的问题是:如何在迁移脚本(或其他地方)中为新属性(任何类型)设置默认值?

.net c# entity-framework ef-migrations entity-framework-6

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

向表sql server添加一列零

可能重复:
将具有默认值的列添加到SQL Server中的现有表

我在sql server中有一个表,但是想要添加一个充满零的额外列

这样做的最佳方法是什么

att1 att2
---------
1.0   5.8
2.7   3.8
5.1   6.8
Run Code Online (Sandbox Code Playgroud)

att1 att2  extra
----------------
1.0   5.8   0.0
2.7   3.8   0.0
5.1   6.8   0.0
Run Code Online (Sandbox Code Playgroud)

sql-server

29
推荐指数
1
解决办法
4840
查看次数

SQL触发器,检查是否输入了某个值

INSERT INTO table_name (column1, column2, column3,...)
VALUES (value1, value2, value3,...)
Run Code Online (Sandbox Code Playgroud)

现在检查一下:

如果插入value1 = null,则将其更改为0

如何通过触发器来做到这一点?我用谷歌搜索了一些例子,我从来没有做过触发器,所以它相当令人困惑.

到目前为止只有这个:

CREATE TRIGGER testTrigger
ON myTable
AFTER INSERT, UPDATE, DELETE
Run Code Online (Sandbox Code Playgroud)

sql sql-server sql-server-2008

24
推荐指数
2
解决办法
4153
查看次数

添加表示两个其他Varchar列的串联的列

我有一个employees表,我想添加一个第三列,它被称为名为"FullName"的名字和名字的串联.如何在不丢失前两列任何数据的情况下实现这一目标?

sql oracle concatenation oracle-sqldeveloper

19
推荐指数
2
解决办法
5万
查看次数

插入非空列后触发

我有一个包含两个表not nullCreatedUpdated.

我写了相应的触发器

ALTER TRIGGER [dbo].[tr_category_inserted] ON [dbo].[Category]
AFTER INSERT
AS
BEGIN
  UPDATE Category
  SET Created = GETDATE(), Updated = GETDATE()
  FROM inserted
  WHERE Category.ID = inserted.ID;
END
Run Code Online (Sandbox Code Playgroud)

ALTER TRIGGER [dbo].[tr_category_updated] ON [dbo].[Category]
AFTER UPDATE
AS
BEGIN
  UPDATE Category
  SET Updated = GETDATE()
    FROM inserted
        inner join [dbo].[Category] c on c.ID = inserted.ID
END
Run Code Online (Sandbox Code Playgroud)

但如果我插入一个新行,我会收到一个错误

无法将值NULL插入"创建"列,表"类别"; 列不允许空值.INSERT失败.

插入命令:

INSERT INTO [Category]([Name], [ShowInMenu], [Deleted])
     VALUES ('category1', 0, 0)
Run Code Online (Sandbox Code Playgroud)

如何在没有设置这些列的情况下编写此类触发器以允许null?

sql t-sql sql-server triggers

12
推荐指数
1
解决办法
9917
查看次数