How to generate a new Guid in stored procedure?
With SQL Server you can use the function NEWID. You're using C# so I assume that you're using SQL Server. I'm sure other database system have similar functions.
select NEWID()
If you're using Oracle then you can use the SYS_GUID()
function. Check out the answer to this question: Generate a GUID in Oracle
You didn't ask about this in your question, but I think it's worth pointing out that using a GUID for a primary key is not always a good idea. While it's simple, it can affect performance when a GUID is used in an index. Have you considered using an Identity column that is an integer value instead?
Here are a couple of articles that might be helpful to read.
- Performance Effects of Using GUIDs as Primary Keys (SQL Server Magazine)
- Primary Keys: IDs versus GUIDs (Jeff Atwood)
- The Cost of GUIDs as Primary Keys (Jimmy Nelson's article referenced by the two other articles)
Try this:
SELECT NewId()
In MySQL it is UUID(). so the query would be:
insert into cars
(id, Make, Model)
values(UUID(), "Ford", "Mustang")
if you want to reuse the uuid you can do it like this:
set @id=UUID();
insert into cars
(id, Make, Model)
values(@id, "Ford", "Mustang");
select @id;