创建一个不允许我在同一年输入相同数字的查询?

时间:2014-02-04 14:48:30

标签: sql sql-server database

我创建了一个允许我保存文档的软件。问题是 我需要创建一个不允许我保存相同数字的查询 在同一年。 (我是sql的新手)。

请帮助我们。

由于

2 个答案:

答案 0 :(得分:1)

假设“number”是指文档编号而“year”是指数据库中的字段,您可以通过创建唯一索引来执行此操作:

create index docs_number_year on docs(number, [year]);

这可以防止任何重复。

如果您在列中有日期,则可以将“year”创建为计算列,然后添加索引:

alter table docs add [year] as year(DocumentDate);

create index docs_number_year on docs(number, [year]);

答案 1 :(得分:0)

您不希望使用查询执行此操作,而是使用Key。如果您有“Year”列和“number”列,则可以在Year和Number两列上定义主键(google为“multi-column key”),从而限制INSERT语句只有在Year和数字尚未包含在数据库中。

如果你没有这两列,那你就不走运了,因为我的水晶球在维修店......