1

再会

我有两个用户将数据保存到同一个数据库并且存在主键冲突的情况。

是否可以编写存储过程或触发器,通过添加两列来生成唯一标识。

例如:我table2table1by相关Table1ID。两者的增量和种子都是 1。

如果我必须添加一行,table2我希望将自动生成的 ID 号添加到文本列中,从而使其唯一。所以 ID 类似于JoeSoap5.

4

2 回答 2

0

如果你想生成一些独特的东西,你可以使用内置函数“ NEWID() ”。键入并执行以下代码:

SELECT NEWID() 

如果在插入第一个表中的记录时需要在第二个表中插入记录,可以使用TRIGGERS来实现。在您的情况下,您可以使用“AFTER INSERT TRIGGER”或“BEFORE INSERT TRIGGER” - 通常这将是在插入第一个表中的行之后/之前执行的一段代码。

于 2012-11-16T07:36:48.670 回答
0

您没有指定您的 SQL Server 版本。

SQL 2012 引入了序列的概念 - http://msdn.microsoft.com/en-us/library/ff878091.aspx - 这将允许你做你想做的事。

于 2012-11-16T08:55:46.200 回答