my table looks like this:
create table foos(
id uniqueidentifier primary KEY DEFAULT (newsequentialid()),
..
)
so the id is sequentially generated automatically, I'm not setting it
how do I get it's value after the insert ? (with identity I was doing insert ... select @@identity
)
3条答案
按热度按时间u5rb5r591#
Returning the NewSequentialID() after Insert using the Output Clause
The basic idea:
shyt4zoc2#
Is possible to use one auxiliar table, you can think about some temp table... This is one possible solution:
So you get your NewId to use in your INSERT, will work as one GEN_ID()
Your DEFAULT NEWSEQUENTIALID() will be on your TempTable, and your real table let without DEFAULT to your UNIQUEIDENTIFIER
fzwojiic3#
You would use the other data that got inserted with the id to select it out again. So where you have the
..
you would have:which would return the id