![]() |
1
2
首先,我要去你们的DBA,问他为什么决定不做ID列和标识。也许他会改变主意。
由于我们讨论的是一种无法在目标表中直接使用标识列的情况,我建议使用2012版本中引入的序列对象的简单模拟来实现自动增量。 为此,您需要一个计数(数字)表。如果您的DBA尚未创建一个,请发送给他阅读Jeff Moden的 The "Numbers" or "Tally" Table: What it is and how it replaces a loop this SO post 用于创建脚本。(方法7是我最喜欢的。) 现在有了一个数字表,添加了一个非常简单的表:
this post !):
然后,无论何时执行此存储过程,都将获得安全的自动递增值。
You can see the full script in action on rextester.
|
![]() |
Rogue258 · 在DB2SQL中使用存储过程/宏进行声明和循环 3 年前 |
![]() |
Moyura · 如何从存储过程中获取最高值 3 年前 |
![]() |
muhtarkator · 创建存储过程插入和更新 3 年前 |
![]() |
DRUIDRUID · 执行SP时从表中获取值 7 年前 |
![]() |
user416 · oracle中的组存储过程 7 年前 |